String msg = "Invalid UserManager implementation '" + getClassName() + "'."; try { Class<?> umgrCl = Class.forName(getClassName(), true, getClassLoader()); if (assignableFrom.isAssignableFrom(umgrCl)) { constr = umgrCl.getConstructor(parameterTypes); } else { throw new ConfigurationException("Configured UserManager '" + getClassName() + "' is not assignable from " + assignableFrom); return (UserManager) constr.newInstance(initArgs); } catch (Exception e) { throw new ConfigurationException("Invalid UserManager implementation '" + getClassName() + "'.", e);
public UserManagerConfig(BeanConfig config, BeanConfig[] actionConfig) { super(config); setValidate(false); // omit validation of the config properties this.actionConfig = actionConfig; }
/** * 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 = 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[] {
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))); }
aaConfig[i] = parseBeanConfig(acElements[i]); umc = new UserManagerConfig(parseBeanConfig(element), aaConfig);
/** * 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; }
aaConfig[i] = parseBeanConfig(acElements[i]); umc = new UserManagerConfig(parseBeanConfig(element), aaConfig);
Properties.class, MembershipCache.class}; umgr = (UserPerWorkspaceUserManager) umc.getUserManager(UserPerWorkspaceUserManager.class, paramTypes, session, adminId, umc.getParameters(), getMembershipCache(session)); } else { umgr = new UserPerWorkspaceUserManager(session, adminId, null, getMembershipCache(session)); AuthorizableAction[] actions = umc.getAuthorizableActions(); umgr.setAuthorizableActions(actions);
String msg = "Invalid UserManager implementation '" + getClassName() + "'."; try { Class<?> umgrCl = Class.forName(getClassName(), true, getClassLoader()); if (assignableFrom.isAssignableFrom(umgrCl)) { constr = umgrCl.getConstructor(parameterTypes); } else { throw new ConfigurationException("Configured UserManager '" + getClassName() + "' is not assignable from " + assignableFrom); return (UserManager) constr.newInstance(initArgs); } catch (Exception e) { throw new ConfigurationException("Invalid UserManager implementation '" + getClassName() + "'.", e);
public UserManagerConfig(BeanConfig config, BeanConfig[] actionConfig) { super(config); setValidate(false); // omit validation of the config properties this.actionConfig = actionConfig; }
Properties.class, MembershipCache.class}; umgr = (UserPerWorkspaceUserManager) umc.getUserManager(UserPerWorkspaceUserManager.class, paramTypes, session, adminId, umc.getParameters(), getMembershipCache(session)); } else { umgr = new UserPerWorkspaceUserManager(session, adminId, null, getMembershipCache(session)); AuthorizableAction[] actions = umc.getAuthorizableActions(); umgr.setAuthorizableActions(actions);