/** * @see JackrabbitSecurityManager#getAccessManager(Session,AMContext) */ public AccessManager getAccessManager(Session session, AMContext amContext) throws RepositoryException { checkInitialized(); AccessManagerConfig amConfig = repository.getConfig().getSecurityConfig().getAccessManagerConfig(); try { String wspName = session.getWorkspace().getName(); AccessControlProvider pp = getAccessControlProvider(wspName); AccessManager accessMgr; if (amConfig == null) { log.debug("No configuration entry for AccessManager. Using org.apache.jackrabbit.core.security.DefaultAccessManager"); accessMgr = new DefaultAccessManager(); } else { accessMgr = amConfig.newInstance(AccessManager.class); } accessMgr.init(amContext, pp, workspaceAccessManager); return accessMgr; } catch (AccessDeniedException e) { // re-throw throw e; } catch (Exception e) { // wrap in RepositoryException String clsName = (amConfig == null) ? "-- missing access manager configuration --" : amConfig.getClassName(); String msg = "Failed to instantiate AccessManager (" + clsName + ")"; log.error(msg, e); throw new RepositoryException(msg, e); } }
/** * @see JackrabbitSecurityManager#getAccessManager(Session,AMContext) */ public AccessManager getAccessManager(Session session, AMContext amContext) throws RepositoryException { checkInitialized(); AccessManagerConfig amConfig = repository.getConfig().getSecurityConfig().getAccessManagerConfig(); try { String wspName = session.getWorkspace().getName(); AccessControlProvider pp = getAccessControlProvider(wspName); AccessManager accessMgr; if (amConfig == null) { log.debug("No configuration entry for AccessManager. Using org.apache.jackrabbit.core.security.DefaultAccessManager"); accessMgr = new DefaultAccessManager(); } else { accessMgr = amConfig.newInstance(AccessManager.class); } accessMgr.init(amContext, pp, workspaceAccessManager); return accessMgr; } catch (AccessDeniedException e) { // re-throw throw e; } catch (Exception e) { // wrap in RepositoryException String clsName = (amConfig == null) ? "-- missing access manager configuration --" : amConfig.getClassName(); String msg = "Failed to instantiate AccessManager (" + clsName + ")"; log.error(msg, e); throw new RepositoryException(msg, e); } }