org.apache.jackrabbit.core.security.user
Class UserPerWorkspaceUserManager

java.lang.Object
  extended by org.apache.jackrabbit.core.ProtectedItemModifier
      extended by org.apache.jackrabbit.core.security.user.UserManagerImpl
          extended by 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
static String AUTHORIZABLES_PATH
           
static String GROUP_ADMIN_GROUP_NAME
          Configuration key and default value for the the name of the 'GroupAdmin' group-principal
static 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. It has been removed from the node type definition.
static String SECURITY_ROOT_PATH
          root-path to security related content e.g. principals
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_DEFAULT_DEPTH, PARAM_GROUP_MEMBERSHIP_SPLIT_SIZE, PARAM_GROUPS_PATH, 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
UserPerWorkspaceUserManager(SessionImpl session, String adminId)
          Same as UserPerWorkspaceUserManager(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 to Session.save().
UserPerWorkspaceUserManager(SessionImpl session, String adminId, Properties config, MembershipCache mCache)
          Creates a UserManager that doesn't implicitly save changes but requires an explicit call to Session.save().
 
Method Summary
 void autoSave(boolean enable)
          Always throws unsupportedRepositoryOperationException as modification of the autosave behavior is not supported.
 boolean isAutoSave()
          Always returns true as by default the autoSave behavior cannot be altered (see also UserManagerImpl.autoSave(boolean).
 
Methods inherited from class org.apache.jackrabbit.core.security.user.UserManagerImpl
createGroup, createGroup, createGroup, createGroup, createUser, createUser, doCreateGroup, doCreateUser, findAuthorizables, findAuthorizables, findAuthorizables, getAuthorizable, getAuthorizable, getGroupMembershipSplitSize, getGroupsPath, getMembershipCache, getUsersPath, loggedOut, loggingOut
 
Methods inherited from class org.apache.jackrabbit.core.ProtectedItemModifier
addNode, addNode, markModified, performProtected, removeItem, setProperty, setProperty, setProperty, setProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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

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

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 as UserPerWorkspaceUserManager(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 to Session.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 to Session.save().

Parameters:
session -
adminId -
config -
Throws:
RepositoryException
Method Detail

isAutoSave

public boolean isAutoSave()
Description copied from class: UserManagerImpl
Always returns true as by default the autoSave behavior cannot be altered (see also UserManagerImpl.autoSave(boolean).

Specified by:
isAutoSave in interface UserManager
Overrides:
isAutoSave in class UserManagerImpl
Returns:
Always true.
See Also:
UserManager.isAutoSave()

autoSave

public void autoSave(boolean enable)
              throws UnsupportedRepositoryOperationException,
                     RepositoryException
Description copied from class: UserManagerImpl
Always throws unsupportedRepositoryOperationException as modification of the autosave behavior is not supported.

Specified by:
autoSave in interface UserManager
Overrides:
autoSave in class UserManagerImpl
Parameters:
enable - If true changes made through this API will be automatically saved; otherwise an explicit call to Session.save() is required in order to persist changes.
Throws:
UnsupportedRepositoryOperationException - If the implementation does not allow to change the auto save behavior.
RepositoryException - If some other error occurs.
See Also:
UserManager.autoSave(boolean)


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.