Class UserPerWorkspaceUserManager
- java.lang.Object
-
- org.apache.jackrabbit.core.ProtectedItemModifier
-
- org.apache.jackrabbit.core.security.user.UserManagerImpl
-
- org.apache.jackrabbit.core.security.user.UserPerWorkspaceUserManager
-
- All Implemented Interfaces:
UserManager
,SessionListener
public class UserPerWorkspaceUserManager extends UserManagerImpl
Derived UserManager implementation that allows to switch between autosaving and transient change mode.NOTE: This requires that the Session passed to the user manager upon creation is identical to the Session passed to
JackrabbitSecurityManager.getUserManager(Session)
.- See Also:
UserPerWorkspaceUserManager
-
-
Field Summary
Fields Modifier and Type Field Description static String
AUTHORIZABLES_PATH
static String
GROUP_ADMIN_GROUP_NAME
Configuration key and default value for the the name of the 'GroupAdmin' group-principalstatic String
GROUPS_PATH
static Name
MIX_REP_IMPERSONATABLE
static Name
N_MEMBERS
static NameFactory
NF
static Name
NT_REP_AUTHORIZABLE
static Name
NT_REP_AUTHORIZABLE_FOLDER
static Name
NT_REP_GROUP
static Name
NT_REP_MEMBERS
static Name
NT_REP_USER
static Name
P_DISABLED
static Name
P_GROUPS
Deprecated.As of 2.0 group membership is stored with the group node.static Name
P_IMPERSONATORS
Name of the user property containing the principal names of those allowed to impersonate.static Name
P_MEMBERS
static Name
P_PASSWORD
static Name
P_PRINCIPAL_NAME
static Name
P_USERID
Deprecated.As of 2.0 the id-hash is stored with the jcr:uuid making the rep:userId property redundant.static String
SECURITY_ROOT_PATH
root-path to security related content e.g.static String
USER_ADMIN_GROUP_NAME
Configuration key and default value for the the name of the 'UserAdmin' group-principal.static String
USERS_PATH
-
Fields inherited from class org.apache.jackrabbit.core.security.user.UserManagerImpl
PARAM_AUTO_EXPAND_SIZE, PARAM_AUTO_EXPAND_TREE, PARAM_COMPATIBILE_JR16, PARAM_COMPATIBLE_JR16, PARAM_DEFAULT_DEPTH, PARAM_GROUP_MEMBERSHIP_SPLIT_SIZE, PARAM_GROUPS_PATH, PARAM_PASSWORD_HASH_ALGORITHM, PARAM_PASSWORD_HASH_ITERATIONS, PARAM_USERS_PATH
-
Fields inherited from interface org.apache.jackrabbit.api.security.user.UserManager
SEARCH_TYPE_AUTHORIZABLE, SEARCH_TYPE_GROUP, SEARCH_TYPE_USER
-
-
Constructor Summary
Constructors Constructor Description UserPerWorkspaceUserManager(SessionImpl session, String adminId)
Same asUserPerWorkspaceUserManager(session, adminID, null, null)
.UserPerWorkspaceUserManager(SessionImpl session, String adminId, Properties config)
Creates a UserManager that doesn't implicitly save changes but requires an explicit call toSession.save()
.UserPerWorkspaceUserManager(SessionImpl session, String adminId, Properties config, MembershipCache mCache)
Creates a UserManager that doesn't implicitly save changes but requires an explicit call toSession.save()
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
autoSave(boolean enable)
Always throwsunsupportedRepositoryOperationException
as modification of the autosave behavior is not supported.Authorizable
getAuthorizableByPath(String path)
Always throwsUnsupportedRepositoryOperationException
since this implementation of the user management API does not allow to retrieve the path of an authorizable.boolean
isAutoSave()
Always returnstrue
as by default the autoSave behavior cannot be altered (see alsoUserManagerImpl.autoSave(boolean)
.-
Methods inherited from class org.apache.jackrabbit.core.security.user.UserManagerImpl
createGroup, createGroup, createGroup, createGroup, createSystemUser, createUser, createUser, doCreateGroup, doCreateUser, findAuthorizables, findAuthorizables, findAuthorizables, getAuthorizable, getAuthorizable, getAuthorizable, getGroupsPath, getMembershipCache, getMemberSplitSize, getUsersPath, hasMemberSplitSize, loggedOut, loggingOut, setAuthorizableActions
-
Methods inherited from class org.apache.jackrabbit.core.ProtectedItemModifier
addNode, addNode, markModified, performProtected, removeItem, setProperty, setProperty, setProperty, setProperty
-
-
-
-
Field Detail
-
NF
public static final NameFactory NF
-
SECURITY_ROOT_PATH
public static final String SECURITY_ROOT_PATH
root-path to security related content e.g. principals- See Also:
- Constant Field Values
-
AUTHORIZABLES_PATH
public static final String AUTHORIZABLES_PATH
- See Also:
- Constant Field Values
-
USERS_PATH
public static final String USERS_PATH
- See Also:
- Constant Field Values
-
GROUPS_PATH
public static final String GROUPS_PATH
- See Also:
- Constant Field Values
-
USER_ADMIN_GROUP_NAME
public static final String USER_ADMIN_GROUP_NAME
Configuration key and default value for the the name of the 'UserAdmin' group-principal.- See Also:
- Constant Field Values
-
GROUP_ADMIN_GROUP_NAME
public static final String GROUP_ADMIN_GROUP_NAME
Configuration key and default value for the the name of the 'GroupAdmin' group-principal- See Also:
- Constant Field Values
-
P_PRINCIPAL_NAME
public static final Name P_PRINCIPAL_NAME
-
P_USERID
@Deprecated public static final Name P_USERID
Deprecated.As of 2.0 the id-hash is stored with the jcr:uuid making the rep:userId property redundant. It has been removed from the node type definition.
-
P_PASSWORD
public static final Name P_PASSWORD
-
P_DISABLED
public static final Name P_DISABLED
-
P_GROUPS
@Deprecated public static final Name P_GROUPS
Deprecated.As of 2.0 group membership is stored with the group node.- See Also:
P_MEMBERS
-
P_MEMBERS
public static final Name P_MEMBERS
-
N_MEMBERS
public static final Name N_MEMBERS
-
P_IMPERSONATORS
public static final Name P_IMPERSONATORS
Name of the user property containing the principal names of those allowed to impersonate.
-
NT_REP_AUTHORIZABLE
public static final Name NT_REP_AUTHORIZABLE
-
NT_REP_AUTHORIZABLE_FOLDER
public static final Name NT_REP_AUTHORIZABLE_FOLDER
-
NT_REP_USER
public static final Name NT_REP_USER
-
NT_REP_GROUP
public static final Name NT_REP_GROUP
-
NT_REP_MEMBERS
public static final Name NT_REP_MEMBERS
-
MIX_REP_IMPERSONATABLE
public static final Name MIX_REP_IMPERSONATABLE
-
-
Constructor Detail
-
UserPerWorkspaceUserManager
public UserPerWorkspaceUserManager(SessionImpl session, String adminId) throws RepositoryException
Same asUserPerWorkspaceUserManager(session, adminID, null, null)
.- Parameters:
session
-adminId
-- Throws:
RepositoryException
-
UserPerWorkspaceUserManager
public UserPerWorkspaceUserManager(SessionImpl session, String adminId, Properties config) throws RepositoryException
Creates a UserManager that doesn't implicitly save changes but requires an explicit call toSession.save()
.- Parameters:
session
-adminId
-config
-- Throws:
RepositoryException
-
UserPerWorkspaceUserManager
public UserPerWorkspaceUserManager(SessionImpl session, String adminId, Properties config, MembershipCache mCache) throws RepositoryException
Creates a UserManager that doesn't implicitly save changes but requires an explicit call toSession.save()
.- Parameters:
session
-adminId
-config
-- Throws:
RepositoryException
-
-
Method Detail
-
getAuthorizableByPath
public Authorizable getAuthorizableByPath(String path) throws UnsupportedRepositoryOperationException, RepositoryException
Description copied from class:UserManagerImpl
Always throwsUnsupportedRepositoryOperationException
since this implementation of the user management API does not allow to retrieve the path of an authorizable.- Specified by:
getAuthorizableByPath
in interfaceUserManager
- Overrides:
getAuthorizableByPath
in classUserManagerImpl
- Throws:
UnsupportedRepositoryOperationException
RepositoryException
- See Also:
UserManager.getAuthorizableByPath(String)
-
isAutoSave
public boolean isAutoSave()
Description copied from class:UserManagerImpl
Always returnstrue
as by default the autoSave behavior cannot be altered (see alsoUserManagerImpl.autoSave(boolean)
.- Specified by:
isAutoSave
in interfaceUserManager
- Overrides:
isAutoSave
in classUserManagerImpl
- Returns:
- Always
true
. - See Also:
UserManager.isAutoSave()
-
autoSave
public void autoSave(boolean enable) throws UnsupportedRepositoryOperationException, RepositoryException
Description copied from class:UserManagerImpl
Always throwsunsupportedRepositoryOperationException
as modification of the autosave behavior is not supported.- Specified by:
autoSave
in interfaceUserManager
- Overrides:
autoSave
in classUserManagerImpl
- Throws:
UnsupportedRepositoryOperationException
RepositoryException
- See Also:
UserManager.autoSave(boolean)
-
-