/** * Creates a {@link UserManagerImpl} for the given session. May be overridden * to return a custom implementation. * * @param session session * @return user manager * @throws RepositoryException if an error occurs */ protected UserManagerImpl createUserManager(SessionImpl session) throws RepositoryException { UserManagerConfig umc = getConfig().getUserManagerConfig(); UserManagerImpl um; if (umc != null) { Class<?>[] paramTypes = new Class[] { SessionImpl.class, String.class, Properties.class, MembershipCache.class}; um = (UserManagerImpl) umc.getUserManager(UserManagerImpl.class, paramTypes, session, adminId, umc.getParameters(), getMembershipCache(session)); } else { um = new UserManagerImpl(session, adminId, null, getMembershipCache(session)); } if (umc != null && !(session instanceof SystemSession)) { AuthorizableAction[] actions = umc.getAuthorizableActions(); um.setAuthorizableActions(actions); } return um; }
/** * Creates a {@link UserManagerImpl} for the given session. May be overridden * to return a custom implementation. * * @param session session * @return user manager * @throws RepositoryException if an error occurs */ protected UserManagerImpl createUserManager(SessionImpl session) throws RepositoryException { UserManagerConfig umc = getConfig().getUserManagerConfig(); UserManagerImpl um; if (umc != null) { Class<?>[] paramTypes = new Class[] { SessionImpl.class, String.class, Properties.class, MembershipCache.class}; um = (UserManagerImpl) umc.getUserManager(UserManagerImpl.class, paramTypes, session, adminId, umc.getParameters(), getMembershipCache(session)); } else { um = new UserManagerImpl(session, adminId, null, getMembershipCache(session)); } if (umc != null && !(session instanceof SystemSession)) { AuthorizableAction[] actions = umc.getAuthorizableActions(); um.setAuthorizableActions(actions); } return um; }
Properties.class, MembershipCache.class}; umgr = (UserPerWorkspaceUserManager) umc.getUserManager(UserPerWorkspaceUserManager.class, paramTypes, session, adminId, umc.getParameters(), getMembershipCache(session)); } else {
Properties.class, MembershipCache.class}; umgr = (UserPerWorkspaceUserManager) umc.getUserManager(UserPerWorkspaceUserManager.class, paramTypes, session, adminId, umc.getParameters(), getMembershipCache(session)); } else {
UserManagerConfig umc = parser.parseSecurityConfig(xml).getSecurityManagerConfig().getUserManagerConfig(); try { umc.getUserManager(UserManagerImpl.class, new Class[] {String.class}, "invalid"); fail("Nonexisting umgr implementation -> instanciation must fail."); } catch (ConfigurationException e) { UserManager um = umc.getUserManager(UserManagerImpl.class, new Class[] { SessionImpl.class, String.class}, superuser, "admin"); assertNotNull(um); umc = parser.parseSecurityConfig(xml).getSecurityManagerConfig().getUserManagerConfig(); try { um = umc.getUserManager(UserPerWorkspaceUserManager.class, new Class[] { SessionImpl.class, String.class}, superuser, "admin"); fail("UserManagerImpl is not assignable from derived class"); umc = parser.parseSecurityConfig(xml).getSecurityManagerConfig().getUserManagerConfig(); try { um = umc.getUserManager(UserManagerImpl.class, new Class[] { Session.class}, superuser, "admin"); fail("Invalid parameter types -> must fail."); umc = parser.parseSecurityConfig(xml).getSecurityManagerConfig().getUserManagerConfig(); try { um = umc.getUserManager(UserManagerImpl.class, new Class[] { SessionImpl.class, String.class}, superuser, 21); fail("Invalid init args -> must fail."); um = umc.getUserManager(UserManagerImpl.class, new Class[] {