|
Java EE 5 SDK | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.sun.appserv.security.AppservPasswordLoginModule
public abstract class AppservPasswordLoginModule
Abstract base class for password-based login modules.
Most login modules receive a username and password from the client (possibly through HTTP BASIC auth, or FORM, or other mechanism) and then make (or delegate) an authentication decision based on this data. This class provides common methods for such password-based login modules.
Subclasses need to implement the authenticate() method and later call commitAuthentication().
Field Summary | |
---|---|
protected boolean |
_commitSucceeded
|
protected com.sun.enterprise.security.auth.realm.Realm |
_currentRealm
|
protected String[] |
_groupsList
|
protected Logger |
_logger
|
protected Map |
_options
|
protected String |
_password
|
protected Map |
_sharedState
|
protected Subject |
_subject
|
protected boolean |
_succeeded
|
protected String |
_username
|
protected com.sun.enterprise.deployment.PrincipalImpl |
_userPrincipal
|
protected static com.sun.enterprise.util.i18n.StringManager |
sm
|
Constructor Summary | |
---|---|
AppservPasswordLoginModule()
|
Method Summary | |
---|---|
boolean |
abort()
Abort the authentication process. |
protected abstract void |
authenticateUser()
Perform authentication decision. |
boolean |
commit()
Commit the authentication. |
void |
commitUserAuthentication(String[] groups)
This is a convenience method which can be used by subclasses Note that this method is called after the authentication has succeeded. |
Subject |
getSubject()
|
void |
initialize(Subject subject,
CallbackHandler callbackHandler,
Map sharedState,
Map options)
Initialize this login module. |
boolean |
login()
Perform login. |
boolean |
logout()
Log out the subject. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Subject _subject
protected Map _sharedState
protected Map _options
protected String _username
protected String _password
protected com.sun.enterprise.security.auth.realm.Realm _currentRealm
protected boolean _succeeded
protected boolean _commitSucceeded
protected com.sun.enterprise.deployment.PrincipalImpl _userPrincipal
protected String[] _groupsList
protected Logger _logger
protected static final com.sun.enterprise.util.i18n.StringManager sm
Constructor Detail |
---|
public AppservPasswordLoginModule()
Method Detail |
---|
public final void initialize(Subject subject, CallbackHandler callbackHandler, Map sharedState, Map options)
initialize
in interface LoginModule
subject
- - the Subject to be authenticated.callbackHandler
- - a CallbackHandler for obtaining the subject
username and password.sharedState
- - state shared with other configured LoginModules.options
- - options specified in the login Configuration for
this particular LoginModule.public final boolean login() throws LoginException
The callback handler is used to obtain authentication info for the subject and a login is attempted. This PasswordLoginModule expects to find a PasswordCredential in the private credentials of the Subject. If not present the login fails. The callback handler is ignored as it is not really relevant on the server side. Finally, the authenticate() method is invoked.
login
in interface LoginModule
LoginException
- Thrown if login failed, or on other problems.public boolean commit() throws LoginException
Commit is called after all necessary login modules have succeeded. It adds (if not present) a PrincipalImpl principal and a LocalCredentials public credential to the Subject.
commit
in interface LoginModule
LoginException
- If commit fails.public final boolean abort() throws LoginException
abort
in interface LoginModule
LoginException
public final boolean logout() throws LoginException
logout
in interface LoginModule
LoginException
public final void commitUserAuthentication(String[] groups)
This is a convenience method which can be used by subclasses
Note that this method is called after the authentication has succeeded. If authentication failed do not call this method. Global instance field succeeded is set to true by this method.
groups
- String array of group memberships for user (could be
empty).public Subject getSubject()
protected abstract void authenticateUser() throws LoginException
LoginException
- on authentication failure.
|
Java EE 5 SDK | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2006 Sun Microsystems, Inc. All rights reserved.