+
+ // Set<Principal> principals = subject.getPrincipals();
+ // if (principals.isEmpty()) {// system
+ // throw new LoginException("Subject must be pre-authenticated");
+ // // subject.getPrincipals().add(new AdminPrincipal("admin"));
+ // // return true;
+ // }
+ // boolean isAdmin = false;
+ // boolean isAnonymous = false;
+ // // FIXME make it more generic
+ // for (Principal principal : principals) {
+ // if (principal.getName().equalsIgnoreCase(
+ // "cn=admin,ou=roles,ou=node"))
+ // isAdmin = true;
+ // else if (principal.getName().equalsIgnoreCase(
+ // "cn=anonymous,ou=roles,ou=node"))
+ // isAnonymous = true;
+ // }
+ //
+ // if (isAnonymous && isAdmin)
+ // throw new LoginException("Cannot be admin and anonymous");
+ //
+ // // Add special Jackrabbit roles
+ // if (isAdmin)
+ // principals.add(new AdminPrincipal(SecurityConstants.ADMIN_ID));
+ // if (isAnonymous)// anonymous
+ // principals.add(new AnonymousPrincipal());
+ // return true;