/** * Returns the repository name. The repository name can be used for * JAAS app-entry configuration. * * @return repository name * @deprecated Use {@link SecurityConfig#getAppName()} instead. */ public String getAppName() { return sec.getAppName(); }
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))); }
/** * Returns the repository access manager configuration. * * @return access manager configuration * @deprecated Use {@link SecurityConfig#getAccessManagerConfig()} instead. */ public AccessManagerConfig getAccessManagerConfig() { return sec.getAccessManagerConfig(); }
LoginModuleConfig loginModConf = config.getLoginModuleConfig(); authCtxProvider = new AuthContextProvider(config.getAppName(), loginModConf); if (authCtxProvider.isLocal()) { log.info("init: using Repository LoginModule configuration for " + config.getAppName()); } else if (authCtxProvider.isJAAS()) { log.info("init: using JAAS LoginModule configuration for " + config.getAppName()); } else { String msg = "No valid LoginModule configuriation for " + config.getAppName(); log.error(msg); throw new RepositoryException(msg); SecurityManagerConfig smc = config.getSecurityManagerConfig(); if (smc != null && smc.getWorkspaceAccessConfig() != null) { workspaceAccessManager =
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()); }
new File(DIR, "workspaces").getPath(), new File(config.getWorkspacesConfigRootDir()).getPath()); assertEquals("Jackrabbit", config.getSecurityConfig().getAppName()); config.getSecurityConfig().getSecurityManagerConfig(); assertEquals( "org.apache.jackrabbit.core.DefaultSecurityManager", config.getSecurityConfig().getAccessManagerConfig(); assertEquals( "org.apache.jackrabbit.core.security.DefaultAccessManager",
final LoginModuleConfig loginModConf = config.getLoginModuleConfig(); authCtxProvider = new AuthContextProvider(config.getAppName(), loginModConf) { @Override public AuthContext getAuthContext(Credentials credentials, log.info("init: using JAAS LoginModule configuration for " + config.getAppName()); } else if (authCtxProvider.isLocal()) { log.info("init: using Repository LoginModule configuration for " + config.getAppName()); } else { String msg = "No valid LoginModule configuriation for " + config.getAppName(); log.error(msg); throw new RepositoryException(msg);
/** * @return The <code>SecurityManagerConfig</code> configured for the * repository this manager has been created for. */ protected SecurityManagerConfig getConfig() { return repository.getConfig().getSecurityConfig().getSecurityManagerConfig(); }
/** * Returns the repository login module configuration. * * @return login module configuration, or <code>null</code> if standard * JAAS mechanism should be used. * @deprecated Use {@link SecurityConfig#getLoginModuleConfig()} instead. */ public LoginModuleConfig getLoginModuleConfig() { return sec.getLoginModuleConfig(); }
private SecurityConfig buildSecurityConfig(){ SecurityConfig securityConfig=new SecurityConfig("uruleRepoSecurity",buildSecurityManagerConfig(),buildAccessManagerConfig(),buildLoginModuleConfig()); return securityConfig; }
LoginModuleConfig loginModConf = config.getLoginModuleConfig(); authCtxProvider = new AuthContextProvider(config.getAppName(), loginModConf); if (authCtxProvider.isLocal()) { log.info("init: using Repository LoginModule configuration for " + config.getAppName()); } else if (authCtxProvider.isJAAS()) { log.info("init: using JAAS LoginModule configuration for " + config.getAppName()); } else { String msg = "No valid LoginModule configuriation for " + config.getAppName(); log.error(msg); throw new RepositoryException(msg); SecurityManagerConfig smc = config.getSecurityManagerConfig(); if (smc != null && smc.getWorkspaceAccessConfig() != null) { workspaceAccessManager =
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")); }
/** * @return The <code>SecurityManagerConfig</code> configured for the * repository this manager has been created for. */ protected SecurityManagerConfig getConfig() { return repository.getConfig().getSecurityConfig().getSecurityManagerConfig(); }
/** * Returns the repository login module configuration. * * @return login module configuration, or <code>null</code> if standard * JAAS mechanism should be used. * @deprecated Use {@link SecurityConfig#getLoginModuleConfig()} instead. */ public LoginModuleConfig getLoginModuleConfig() { return sec.getLoginModuleConfig(); }
/** * Parses security configuration. Security configuration * uses the following format: * <pre> * <Security appName="..."> * <SecurityManager ...> * <AccessManager ...> * <LoginModule ... (optional)> * </Security> * </pre> * <p> * The <code>SecurityManager</code>, the <code>AccessManager</code> * and <code>LoginModule</code> are all * {@link #parseBeanConfig(Element,String) bean configuration} * elements. * <p> * The login module is an optional feature of repository configuration. * * @param security the <security> element. * @return the security configuration. * @throws ConfigurationException if the configuration is broken */ public SecurityConfig parseSecurityConfig(Element security) throws ConfigurationException { String appName = getAttribute(security, APP_NAME_ATTRIBUTE); SecurityManagerConfig smc = parseSecurityManagerConfig(security); AccessManagerConfig amc = parseAccessManagerConfig(security); LoginModuleConfig lmc = parseLoginModuleConfig(security); return new SecurityConfig(appName, smc, amc, lmc); }
LoginModuleConfig loginModConf = config.getLoginModuleConfig(); authContextProvider = new AuthContextProvider(config.getAppName(), loginModConf); if (authContextProvider.isLocal()) { log.info("init: use Repository Login-Configuration for " + config.getAppName()); } else if (authContextProvider.isJAAS()) { log.info("init: use JAAS login-configuration for " + config.getAppName()); } else { String msg = "Neither JAAS nor RepositoryConfig contained a valid configuration for " + config.getAppName(); log.error(msg); throw new RepositoryException(msg); SecurityManagerConfig smc = config.getSecurityManagerConfig(); if (smc != null && smc.getWorkspaceAccessConfig() != null) { workspaceAccessManager =
/** * 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; } }
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))); }
Properties[] moduleConfig = new AuthContextProvider("", ((RepositoryImpl) getRepository()).getConfig().getSecurityConfig().getLoginModuleConfig()).getModuleConfig();
/** * Returns the repository name. The repository name can be used for * JAAS app-entry configuration. * * @return repository name * @deprecated Use {@link SecurityConfig#getAppName()} instead. */ public String getAppName() { return sec.getAppName(); }