protected ConfigurationParameters mapSecurityConfig(SecurityConfig config) { ConfigurationParameters loginConfig = mapConfigurationParameters( config.getLoginModuleConfig(), LoginModuleConfig.PARAM_ADMIN_ID, UserConstants.PARAM_ADMIN_ID, LoginModuleConfig.PARAM_ANONYMOUS_ID, UserConstants.PARAM_ANONYMOUS_ID); ConfigurationParameters userConfig; if (config.getSecurityManagerConfig() == null) { userConfig = ConfigurationParameters.EMPTY; } else { userConfig = mapConfigurationParameters( config.getSecurityManagerConfig().getUserManagerConfig(), UserManagerImpl.PARAM_USERS_PATH, UserConstants.PARAM_USER_PATH, UserManagerImpl.PARAM_GROUPS_PATH, UserConstants.PARAM_GROUP_PATH, UserManagerImpl.PARAM_DEFAULT_DEPTH, UserConstants.PARAM_DEFAULT_DEPTH, UserManagerImpl.PARAM_PASSWORD_HASH_ALGORITHM, UserConstants.PARAM_PASSWORD_HASH_ALGORITHM, UserManagerImpl.PARAM_PASSWORD_HASH_ITERATIONS, UserConstants.PARAM_PASSWORD_HASH_ITERATIONS); } return ConfigurationParameters.of(ImmutableMap.of( UserConfiguration.NAME, ConfigurationParameters.of(loginConfig, userConfig))); }
protected ConfigurationParameters mapSecurityConfig(SecurityConfig config) { ConfigurationParameters loginConfig = mapConfigurationParameters( config.getLoginModuleConfig(), LoginModuleConfig.PARAM_ADMIN_ID, UserConstants.PARAM_ADMIN_ID, LoginModuleConfig.PARAM_ANONYMOUS_ID, UserConstants.PARAM_ANONYMOUS_ID); ConfigurationParameters userConfig; if (config.getSecurityManagerConfig() == null) { userConfig = ConfigurationParameters.EMPTY; } else { userConfig = mapConfigurationParameters( config.getSecurityManagerConfig().getUserManagerConfig(), UserManagerImpl.PARAM_USERS_PATH, UserConstants.PARAM_USER_PATH, UserManagerImpl.PARAM_GROUPS_PATH, UserConstants.PARAM_GROUP_PATH, UserManagerImpl.PARAM_DEFAULT_DEPTH, UserConstants.PARAM_DEFAULT_DEPTH, UserManagerImpl.PARAM_PASSWORD_HASH_ALGORITHM, UserConstants.PARAM_PASSWORD_HASH_ALGORITHM, UserManagerImpl.PARAM_PASSWORD_HASH_ITERATIONS, UserConstants.PARAM_PASSWORD_HASH_ITERATIONS); } return ConfigurationParameters.of(ImmutableMap.of( UserConfiguration.NAME, ConfigurationParameters.of(loginConfig, userConfig))); }
public void testConfig3() throws ConfigurationException { Element xml = parseXML(new InputSource(new StringReader(CONFIG_3)), true); SecurityConfig config = parser.parseSecurityConfig(xml); SecurityManagerConfig smc = config.getSecurityManagerConfig(); assertEquals(ItemBasedPrincipal.class, smc.getUserIdClass()); UserManagerConfig umc = smc.getUserManagerConfig(); assertNotNull(umc); Properties params = umc.getParameters(); assertNotNull(params); assertFalse(params.containsKey(UserManagerImpl.PARAM_COMPATIBLE_JR16)); assertTrue(Boolean.parseBoolean(params.getProperty(UserManagerImpl.PARAM_AUTO_EXPAND_TREE))); assertEquals(4, Integer.parseInt(params.getProperty(UserManagerImpl.PARAM_DEFAULT_DEPTH))); assertEquals(2000, Long.parseLong(params.getProperty(UserManagerImpl.PARAM_AUTO_EXPAND_SIZE))); }
/** * 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; }
UserManagerConfig umc = getConfig().getUserManagerConfig(); UserManagerImpl umgr;
UserManagerConfig umc = getConfig().getUserManagerConfig(); UserManagerImpl umgr;
public void testUserManagerConfig() throws RepositoryException, UnsupportedRepositoryOperationException { Element xml = parseXML(new InputSource(new StringReader(USER_MANAGER_CONFIG_INVALID)), true); UserManagerConfig umc = parser.parseSecurityConfig(xml).getSecurityManagerConfig().getUserManagerConfig(); try { umc.getUserManager(UserManagerImpl.class, new Class[] {String.class}, "invalid"); umc = parser.parseSecurityConfig(xml).getSecurityManagerConfig().getUserManagerConfig(); umc = parser.parseSecurityConfig(xml).getSecurityManagerConfig().getUserManagerConfig(); try { um = umc.getUserManager(UserPerWorkspaceUserManager.class, new Class[] { umc = parser.parseSecurityConfig(xml).getSecurityManagerConfig().getUserManagerConfig(); try { um = umc.getUserManager(UserManagerImpl.class, new Class[] { umc = parser.parseSecurityConfig(xml).getSecurityManagerConfig().getUserManagerConfig(); try { um = umc.getUserManager(UserManagerImpl.class, new Class[] { umc = parser.parseSecurityConfig(xml).getSecurityManagerConfig().getUserManagerConfig(); umc = parser.parseSecurityConfig(xml).getSecurityManagerConfig().getUserManagerConfig(); AuthorizableAction[] actions = umc.getAuthorizableActions(); assertEquals(2, actions.length); umc = parser.parseSecurityConfig(xml).getSecurityManagerConfig().getUserManagerConfig(); try { actions = umc.getAuthorizableActions();
public void testConfig2() throws ConfigurationException { Element xml = parseXML(new InputSource(new StringReader(CONFIG_2)), true); SecurityConfig config = parser.parseSecurityConfig(xml); assertNotNull(config.getAppName()); assertEquals("Jackrabbit", config.getAppName()); SecurityManagerConfig smc = config.getSecurityManagerConfig(); assertNotNull(smc); assertTrue(smc.newInstance(JackrabbitSecurityManager.class) instanceof DefaultSecurityManager); assertNull(smc.getWorkspaceAccessConfig()); assertEquals("security", smc.getWorkspaceName()); assertNull(smc.getUserManagerConfig()); AccessManagerConfig amc = config.getAccessManagerConfig(); assertNotNull(amc); assertTrue(amc.newInstance(AccessManager.class) instanceof DefaultAccessManager); LoginModuleConfig lmc = config.getLoginModuleConfig(); assertNotNull(lmc); assertTrue(lmc.getLoginModule() instanceof DefaultLoginModule); Properties options = lmc.getParameters(); assertNotNull(options); assertEquals("anonymous", options.getProperty("anonymousId")); assertEquals("admin", options.getProperty("adminId")); assertEquals("org.apache.jackrabbit.TestPrincipalProvider", options.getProperty("principalProvider")); }