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 subject
+ * 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;
+ Set<Principal> principals = subject.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: " + subject);
}
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: " + subject);
}
return userPrincipal;