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))); }
private SecurityManagerConfig buildSecurityManagerConfig(){ Properties prop=new Properties(); BeanConfig beanConfig=new BeanConfig("org.apache.jackrabbit.core.security.simple.SimpleSecurityManager",prop); SecurityManagerConfig securityManagerConfig=new SecurityManagerConfig(beanConfig,"default",null); return securityManagerConfig; }
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))); }
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")); }
public void testConfig1() throws ConfigurationException { Element xml = parseXML(new InputSource(new StringReader(CONFIG_1)), 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 SimpleSecurityManager); assertNull(smc.getWorkspaceAccessConfig()); assertNull(smc.getWorkspaceName()); assertNotNull(config.getAccessManagerConfig()); assertTrue(config.getAccessManagerConfig().newInstance(AccessManager.class) instanceof SimpleAccessManager); assertNull(config.getLoginModuleConfig()); }
assertEquals( "org.apache.jackrabbit.core.DefaultSecurityManager", smc.getClassName()); assertTrue(smc.getParameters().isEmpty()); assertNotNull(smc.getWorkspaceName()); BeanConfig bc = smc.getWorkspaceAccessConfig(); if (bc != null) { WorkspaceAccessManager wac = smc.getWorkspaceAccessConfig().newInstance(WorkspaceAccessManager.class); assertEquals("org.apache.jackrabbit.core.security.simple.SimpleWorkspaceAccessManager", wac.getClass().getName());
securityMgr = new SimpleSecurityManager(); } else { securityMgr = smc.newInstance(JackrabbitSecurityManager.class); if (smc != null && smc.getWorkspaceName() != null) { workspaceName = smc.getWorkspaceName();
/** * Initialize startup workspaces. Base implementation will initialize the * default workspace. Derived classes may initialize their own startup * workspaces <b>after</b> having called the base implementation. * * @throws RepositoryException if an error occurs */ protected void initStartupWorkspaces() throws RepositoryException { String wspName = repConfig.getDefaultWorkspaceName(); String secWspName = null; SecurityManagerConfig smc = repConfig.getSecurityConfig().getSecurityManagerConfig(); if (smc != null) { secWspName = smc.getWorkspaceName(); } try { (wspInfos.get(wspName)).initialize(); if (secWspName != null && !wspInfos.containsKey(secWspName)) { createWorkspace(secWspName); log.info("created system workspace: {}", secWspName); } } catch (RepositoryException e) { // if default workspace failed to initialize, shutdown again log.error("Failed to initialize workspace '" + wspName + "'", e); log.error("Unable to start repository, forcing shutdown..."); shutdown(); throw e; } }
if (smc != null && smc.getWorkspaceAccessConfig() != null) { workspaceAccessManager = smc.getWorkspaceAccessConfig().newInstance(WorkspaceAccessManager.class); } else {
Class cl = getConfig().getUserIdClass(); if (cl != null) { Set<Principal> s = subject.getPrincipals(cl);
securityMgr = new SimpleSecurityManager(); } else { securityMgr = smc.newInstance(JackrabbitSecurityManager.class); if (smc != null && smc.getWorkspaceName() != null) { workspaceName = smc.getWorkspaceName();
/** * Initialize startup workspaces. Base implementation will initialize the * default workspace. Derived classes may initialize their own startup * workspaces <b>after</b> having called the base implementation. * * @throws RepositoryException if an error occurs */ protected void initStartupWorkspaces() throws RepositoryException { String wspName = repConfig.getDefaultWorkspaceName(); String secWspName = null; SecurityManagerConfig smc = repConfig.getSecurityConfig().getSecurityManagerConfig(); if (smc != null) { secWspName = smc.getWorkspaceName(); } try { (wspInfos.get(wspName)).initialize(); if (secWspName != null && !wspInfos.containsKey(secWspName)) { createWorkspace(secWspName); log.info("created system workspace: {}", secWspName); } } catch (RepositoryException e) { // if default workspace failed to initialize, shutdown again log.error("Failed to initialize workspace '" + wspName + "'", e); log.error("Unable to start repository, forcing shutdown..."); shutdown(); throw e; } }
if (smc != null && smc.getWorkspaceAccessConfig() != null) { workspaceAccessManager = smc.getWorkspaceAccessConfig().newInstance(WorkspaceAccessManager.class); } else {
Class cl = getConfig().getUserIdClass(); if (cl != null) { Set<Principal> s = subject.getPrincipals(cl);
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))); }
@Override protected void setUp() throws Exception { super.setUp(); RepositoryImpl repo = (RepositoryImpl) superuser.getRepository(); String wspName = repo.getConfig().getSecurityConfig().getSecurityManagerConfig().getWorkspaceName(); s = getHelper().getSuperuserSession(wspName); provider = new UserAccessControlProvider(); provider.init(s, Collections.emptyMap()); }
if (smc != null && smc.getWorkspaceAccessConfig() != null) { workspaceAccessManager = smc.getWorkspaceAccessConfig().newInstance(WorkspaceAccessManager.class); } else {
return new SecurityManagerConfig(bc, wspAttr, wac, umc, uidcc); } else { return null;
/** * 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; }
@Override protected void setUp() throws Exception { super.setUp(); String workspaceName = ((RepositoryImpl) superuser.getRepository()).getConfig().getSecurityConfig().getSecurityManagerConfig().getWorkspaceName(); s = (SessionImpl) ((SessionImpl) superuser).createSession(workspaceName); usersPath = ((UserManagerImpl) userMgr).getUsersPath(); groupsPath = ((UserManagerImpl) userMgr).getGroupsPath(); }