|
||||||||||
PREV CLASS (src) NEXT CLASS (src) | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jboss.security.auth.spi.AbstractServerLoginModule (src)
org.jboss.security.auth.spi.UsernamePasswordLoginModule
An abstract subclass of AbstractServerLoginModule that imposes an identity == String username, credentials == String password view on the login process.
Subclasses override the getUsersPassword()
and getRoleSets()
methods to return the expected password and roles
for the user.
getUsername()
,
getUsersPassword()
,
AbstractServerLoginModule.getRoleSets()
,
AbstractServerLoginModule.createIdentity(String)
Field Summary |
Fields inherited from class org.jboss.security.auth.spi.AbstractServerLoginModule (src) |
callbackHandler, log, loginOk, options, principalClassName, sharedState, subject, unauthenticatedIdentity, useFirstPass |
Constructor Summary | |
UsernamePasswordLoginModule()
|
Method Summary | |
protected java.lang.String |
createPasswordHash(java.lang.String username,
java.lang.String password)
If hashing is enabled, this method is called from login()
prior to password validation. |
protected java.lang.Object |
getCredentials()
|
protected java.security.Principal |
getIdentity()
Overriden by subclasses to return the Principal that corresponds to the user primary identity. |
protected java.security.Principal |
getUnauthenticatedIdentity()
|
protected java.lang.String |
getUsername()
|
protected java.lang.String[] |
getUsernameAndPassword()
Called by login() to acquire the username and password strings for authentication. |
protected abstract java.lang.String |
getUsersPassword()
Get the expected password for the current username available via the getUsername() method. |
void |
initialize(javax.security.auth.Subject subject,
javax.security.auth.callback.CallbackHandler callbackHandler,
java.util.Map sharedState,
java.util.Map options)
Override the superclass method to look for the following options after first invoking the super version. |
boolean |
login()
Perform the authentication of the username and password. |
protected boolean |
validatePassword(java.lang.String inputPassword,
java.lang.String expectedPassword)
A hook that allows subclasses to change the validation of the input password against the expected password. |
Methods inherited from class org.jboss.security.auth.spi.AbstractServerLoginModule (src) |
abort, commit, createGroup, createIdentity, getRoleSets, getUseFirstPass, logout |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public UsernamePasswordLoginModule()
Method Detail |
public 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
initialize
in class AbstractServerLoginModule (src)
options
- :subject
- the Subject to update after a successful login.callbackHandler
- the CallbackHandler that will be used to obtain the
the user identity and credentials.sharedState
- a Map shared between all configured login module instancespublic boolean login() throws javax.security.auth.login.LoginException
login
in interface javax.security.auth.spi.LoginModule
login
in class AbstractServerLoginModule (src)
javax.security.auth.login.LoginException
protected java.security.Principal getIdentity()
AbstractServerLoginModule (src)
getIdentity
in class AbstractServerLoginModule (src)
protected java.security.Principal getUnauthenticatedIdentity()
getUnauthenticatedIdentity
in class AbstractServerLoginModule (src)
protected java.lang.Object getCredentials()
protected java.lang.String getUsername()
protected java.lang.String[] getUsernameAndPassword() throws javax.security.auth.login.LoginException
javax.security.auth.login.LoginException
- thrown if CallbackHandler is not set or fails.protected java.lang.String createPasswordHash(java.lang.String username, java.lang.String password)
login()
prior to password validation.
Subclasses may override it to provide customized password hashing, for example by adding user-specific information or salting.
The default version calculates the hash based on the following options:
validatePassword()
to fail.
username
- ignored in default versionpassword
- the password string to be hashed
java.lang.SecurityException
- - thrown if there is a failure to load the
digestCallbackprotected boolean validatePassword(java.lang.String inputPassword, java.lang.String expectedPassword)
protected abstract java.lang.String getUsersPassword() throws javax.security.auth.login.LoginException
javax.security.auth.login.LoginException
|
||||||||||
PREV CLASS (src) NEXT CLASS (src) | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |