@Override public void initialize( Subject subject, CallbackHandler callbackHandler, Map<String, ?> sharedState, Map<String, ?> options) { if (delegateLoginModule == null) { delegateLoginModule = new DummyLoginModule(); delegateLoginModule.initialize(subject, callbackHandler, sharedState, options); } }
@Override public Set<Principal> rolesOf(Subject subject) { Set<DummyUserPrincipal> dummyPrincipals = subject.getPrincipals(DummyUserPrincipal.class); assert dummyPrincipals.size() <= 1; // DummyUserPrincipal found if (!dummyPrincipals.isEmpty()) { return getOnlyElement(dummyPrincipals).getRoles(); } // else { Set<UserPrincipal> users = subject.getPrincipals(UserPrincipal.class); assert users.size() == 1 : "Too many/less UserPrincipals in subject: " + users; DummyUserPrincipal dummyUser = delegateLoginModule.userForName(getOnlyElement(users).getName()); return dummyUser != null ? dummyUser.getRoles() : Collections.EMPTY_SET; } }