|
J2EE1.4 SDK | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.appserv.security.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 java.lang.String[] |
_groupsList
|
protected java.util.logging.Logger |
_logger
|
protected java.util.Map |
_options
|
protected java.lang.String |
_password
|
protected java.util.Map |
_sharedState
|
protected javax.security.auth.Subject |
_subject
|
protected boolean |
_succeeded
|
protected java.lang.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(java.lang.String[] groups)
This is a convenience method which can be used by subclasses Note that this method is called after the authentication has succeeded. |
void |
initialize(javax.security.auth.Subject subject,
javax.security.auth.callback.CallbackHandler callbackHandler,
java.util.Map sharedState,
java.util.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 javax.security.auth.Subject _subject
protected java.util.Map _sharedState
protected java.util.Map _options
protected java.lang.String _username
protected java.lang.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 java.lang.String[] _groupsList
protected java.util.logging.Logger _logger
protected static final com.sun.enterprise.util.i18n.StringManager sm
Constructor Detail |
public AppservPasswordLoginModule()
Method Detail |
public final void initialize(javax.security.auth.Subject subject, javax.security.auth.callback.CallbackHandler callbackHandler, java.util.Map sharedState, java.util.Map options)
initialize
in interface javax.security.auth.spi.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 javax.security.auth.login.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 javax.security.auth.spi.LoginModule
javax.security.auth.login.LoginException
- Thrown if login failed, or on other problems.public boolean commit() throws javax.security.auth.login.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 javax.security.auth.spi.LoginModule
javax.security.auth.login.LoginException
- If commit fails.public final boolean abort() throws javax.security.auth.login.LoginException
abort
in interface javax.security.auth.spi.LoginModule
javax.security.auth.login.LoginException
public final boolean logout() throws javax.security.auth.login.LoginException
logout
in interface javax.security.auth.spi.LoginModule
javax.security.auth.login.LoginException
public final void commitUserAuthentication(java.lang.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).protected abstract void authenticateUser() throws javax.security.auth.login.LoginException
javax.security.auth.login.LoginException
- on authentication failure.
|
J2EE1.4 SDK | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2003 Sun Microsystems, Inc. All rights reserved.