| java.lang.Object com.ecyrd.jspwiki.auth.UserManager
UserManager | final public class UserManager (Code) | | Provides a facade for obtaining user information.
author: Janne Jalkanen author: Andrew Jaquith since: 2.3 |
Inner Class :public static class SaveUserProfileTask extends Task | |
Inner Class :final public class JSONUserModule implements RPCCallable | |
Constructor Summary | |
public | UserManager() Constructs a new UserManager instance. |
FACT_SUBMITTER | final protected static String FACT_SUBMITTER(Code) | | |
PREFS_FULL_NAME | final protected static String PREFS_FULL_NAME(Code) | | |
PREFS_LOGIN_NAME | final protected static String PREFS_LOGIN_NAME(Code) | | |
SAVED_PROFILE | final protected static String SAVED_PROFILE(Code) | | |
SAVE_APPROVER | final public static String SAVE_APPROVER(Code) | | Message key for the "save profile" message.
|
SAVE_DECISION_MESSAGE_KEY | final protected static String SAVE_DECISION_MESSAGE_KEY(Code) | | |
SAVE_TASK_MESSAGE_KEY | final protected static String SAVE_TASK_MESSAGE_KEY(Code) | | |
UserManager | public UserManager()(Code) | | Constructs a new UserManager instance.
|
addWikiEventListener | final public synchronized void addWikiEventListener(WikiEventListener listener)(Code) | | Registers a WikiEventListener with this instance.
This is a convenience method.
Parameters: listener - the event listener |
fireEvent | final protected void fireEvent(int type, WikiSession session, Object profile)(Code) | | Fires a WikiSecurityEvent of the provided type, Principal and target Object
to all registered listeners.
See Also: com.ecyrd.jspwiki.event.WikiSecurityEvent Parameters: type - the event type to be fired Parameters: session - the wiki session supporting the event Parameters: profile - the user profile (or array of user profiles), which may be null |
getUserDatabase | final public UserDatabase getUserDatabase()(Code) | | Returns the UserDatabase employed by this WikiEngine. The UserDatabase is
lazily initialized by this method, if it does not exist yet. If the
initialization fails, this method will use the inner class
DummyUserDatabase as a default (which is enough to get JSPWiki running).
the dummy user database since: 2.3 |
getUserProfile | final public UserProfile getUserProfile(WikiSession session)(Code) | | Retrieves the
com.ecyrd.jspwiki.auth.user.UserProfile for the
user in a wiki session. If the user is authenticated, the UserProfile
returned will be the one stored in the user database; if one does not
exist, a new one will be initialized and returned. If the user is
anonymous or asserted, the UserProfile will always be newly
initialized to prevent spoofing of identities. If a UserProfile needs to
be initialized, its
com.ecyrd.jspwiki.auth.user.UserProfile.isNew method will
return true , and its login name will will be set
automatically if the user is authenticated. Note that this method does
not modify the retrieved (or newly created) profile otherwise; other
fields in the user profile may be null .
If a new UserProfile was created, but its
com.ecyrd.jspwiki.auth.user.UserProfile.isNew method returns
false , this method throws an
IllegalStateException .
This is meant as a quality check for UserDatabase providers;
it should only be thrown if the implementation is faulty.
Parameters: session - the wiki session, which may not be null the user's profile, which will be newly initialized if the useris anonymous or asserted, or if the user cannot be found in the userdatabase |
initialize | final public void initialize(WikiEngine engine, Properties props)(Code) | | Initializes the engine for its nefarious purposes.
Parameters: engine - the current wiki engine Parameters: props - the wiki engine initialization properties |
parseProfile | final public UserProfile parseProfile(WikiContext context)(Code) | | Extracts user profile parameters from the HTTP request and populates
a UserProfile with them. The UserProfile will either be a copy of the
user's existing profile (if one can be found), or a new profile (if not).
The rules for populating the profile as as follows: - If the
email or password parameter values differ
from those in the existing profile, the passed parameters override the
old values. - For new profiles, the user-supplied
fullname
- In all cases, the
created/last modified timestamps of the user's existing or new profile
always override whatever values the user supplied.
- If
container authentication is used, the login name property of the profile
is set to the name of
com.ecyrd.jspwiki.WikiSession.getLoginPrincipal . Otherwise,
the value of the
loginname parameter is used.
Parameters: context - the current wiki context a new, populated user profile |
removeWikiEventListener | final public synchronized void removeWikiEventListener(WikiEventListener listener)(Code) | | Un-registers a WikiEventListener with this instance.
This is a convenience method.
Parameters: listener - the event listener |
setUserProfile | final public void setUserProfile(WikiSession session, UserProfile profile) throws DuplicateUserException, WikiException(Code) | |
Saves the
com.ecyrd.jspwiki.auth.user.UserProfile for the user in
a wiki session. This method verifies that a user profile to be saved
doesn't collide with existing profiles; that is, the login name
or full name is already used by another profile. If the profile
collides, a DuplicateUserException is thrown. After saving
the profile, the user database changes are committed, and the user's
credential set is refreshed; if custom authentication is used, this means
the user will be automatically be logged in.
When the user's profile is saved succcessfully, this method fires a
WikiSecurityEvent.PROFILE_SAVE event with the WikiSession as the
source and the UserProfile as target. For existing profiles, if the
user's full name changes, this method also fires a "name changed"
event (
WikiSecurityEvent.PROFILE_NAME_CHANGED ) with the
WikiSession as the source and an array containing the old and new
UserProfiles, respectively. The NAME_CHANGED event allows
the GroupManager and PageManager can change group memberships and
ACLs if needed.
Note that WikiSessions normally attach event listeners to the
UserManager, so changes to the profile will automatically cause the
correct Principals to be reloaded into the current WikiSession's Subject.
Parameters: session - the wiki session, which may not be null Parameters: profile - the user profile, which may not be null throws: DuplicateUserException - if the proposed profile's login name or full name collides with another throws: WikiException - if the save fails for some reason. If the current user does not havepermission to save the profile, this will be a com.ecyrd.jspwiki.auth.WikiSecurityException;if if the user profile must be approved before it can be saved, it will be acom.ecyrd.jspwiki.workflow.DecisionRequiredException. All other WikiExceptionindicate a condition that is not normal is probably due to mis-configuration |
validateProfile | final public void validateProfile(WikiContext context, UserProfile profile)(Code) | | Validates a user profile, and appends any errors to the session errors
list. If the profile is new, the password will be checked to make sure it
isn't null. Otherwise, the password is checked for length and that it
matches the value of the 'password2' HTTP parameter. Note that we have a
special case when container-managed authentication is used and the user
is not authenticated; this will always cause validation to fail. Any
validation errors are added to the wiki session's messages collection
(see
WikiSession.getMessages .
Parameters: context - the current wiki context Parameters: profile - the supplied UserProfile |
|
|