if (name != null) {
if (SYSTEM.equals(name)) {
String key = new String(pass);
Token token = removeToken(name, key);
if (token != null) {
principals.add(new JahiaPrincipal(SYSTEM, true, false));
principals.add(new SystemPrincipal());
}
} else if (name.startsWith(SYSTEM)) {
String key = new String(pass);
Token token = removeToken(name, key);
if (token != null) {
principals.add(new JahiaPrincipal(name.substring(SYSTEM.length()), true, false));
principals.add(new SystemPrincipal());
}
} else if (GUEST.equals(name)) {
principals.add(new JahiaPrincipal(GUEST, false, true));
principals.add(new AnonymousPrincipal());
} else {
String key = new String(pass);
Token token = removeToken(name, key);
JahiaUser user = null;
if (userService != null) {
user = userService.lookupUser(name);
} else {
// this can happen if we are still starting up.
user = JCRUserManagerProvider.getInstance().lookupUser(name);
}
if ((token != null) || user.verifyPassword(key)) {
principals.add(new JahiaPrincipal(name));
if (user.isAdminMember(0)) {
principals.add(new AdminPrincipal(name));
}
}
}