/*
- * Copyright 2005 the original author or authors.
- *
+ * Copyright 2005-2010 the original author or authors.
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- */
+ */
package org.wamblee.usermgt;
import java.security.AccessController;
import javax.security.auth.Subject;
-
/**
* Implementation of the user accessor that retrieves user information from
* JAAS.
- *
+ *
* @author Erik Brakkee
*/
public class JaasUserAccessor implements UserAccessor {
*/
private Class userPrincipalClass;
-/**
- * Constructs user accessor.
- * @param aAdmin User administration.
- * @param aUserClassName Class name of the user principal.
+ /**
+ * Constructs user accessor.
+ *
+ * @param aAdmin
+ * User administration.
+ * @param aUserClassName
+ * Class name of the user principal.
*/
public JaasUserAccessor(UserAdministration aAdmin, String aUserClassName) {
admin = aAdmin;
userPrincipalClass = Class.forName(aUserClassName);
if (!Principal.class.isAssignableFrom(userPrincipalClass)) {
- throw new IllegalArgumentException("Specified class '"
- + aUserClassName + "' is not a subclass of '"
- + Principal.class.getName());
+ throw new IllegalArgumentException("Specified class '" +
+ aUserClassName + "' is not a subclass of '" +
+ Principal.class.getName());
}
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
/*
* (non-Javadoc)
- *
+ *
* @see org.wamblee.usermgt.UserAccessor#getCurrentUser()
*/
- /**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
public User getCurrentUser() {
Subject subject = Subject.getSubject(AccessController.getContext());
/**
* Gets the user principal from the subject.
- *
- * @param subject Subject.
- *
+ *
+ * @param aSubject
+ * Subject.
+ *
* @return User principal.
- *
- * @throws IllegalArgumentException In case there is a duplicate principal
- * or the principal was not found.
+ *
+ * @throws IllegalArgumentException
+ * In case there is a duplicate principal or the principal was
+ * not found.
*/
- private Principal getUserPrincipal(Subject subject) {
- Set<Principal> principals = subject.getPrincipals();
- Principal userPrincipal = null;
+ private Principal getUserPrincipal(Subject aSubject) {
+ Set<Principal> principals = aSubject.getPrincipals();
+ Principal userPrincipal = null;
for (Principal principal : principals) {
if (principal.getClass().equals(userPrincipalClass)) {
if (userPrincipal != null) {
throw new IllegalArgumentException(
- "Multiple principals for class '" + userPrincipalClass
- + "', subject: " + subject);
+ "Multiple principals for class '" + userPrincipalClass +
+ "', subject: " + aSubject);
}
userPrincipal = principal;
if (userPrincipal == null) {
throw new IllegalArgumentException(
- "No user principal found for class '" + userPrincipalClass
- + "', subject: " + subject);
+ "No user principal found for class '" + userPrincipalClass +
+ "', subject: " + aSubject);
}
return userPrincipal;