Package org.eclipse.jetty.jaas
Class JAASLoginService
- java.lang.Object
-
- org.eclipse.jetty.util.component.AbstractLifeCycle
-
- org.eclipse.jetty.jaas.JAASLoginService
-
- All Implemented Interfaces:
LoginService,LifeCycle
public class JAASLoginService extends AbstractLifeCycle implements LoginService
JAASLoginService Implementation of jetty's LoginService that works with JAAS for authorization and authentication.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String_callbackHandlerClassprotected javax.security.auth.login.Configuration_configurationprotected JAASUserPrincipal_defaultUserprotected IdentityService_identityServiceprotected java.lang.String_loginModuleNameprotected java.lang.String_realmNameprotected java.lang.String[]_roleClassNamesstatic java.lang.StringDEFAULT_ROLE_CLASS_NAMEstatic java.lang.String[]DEFAULT_ROLE_CLASS_NAMES
-
Constructor Summary
Constructors Constructor Description JAASLoginService()JAASLoginService(java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoStart()javax.security.auth.login.ConfigurationgetConfiguration()protected java.lang.String[]getGroups(javax.security.auth.Subject subject)Get all of the groups for the user.IdentityServicegetIdentityService()Get the identityService.java.lang.StringgetName()Get the name of the realm.java.lang.String[]getRoleClassNames()UserIdentitylogin(java.lang.String username, java.lang.Object credentials, javax.servlet.ServletRequest request)Login a user.voidlogout(UserIdentity user)voidsetCallbackHandlerClass(java.lang.String classname)voidsetConfiguration(javax.security.auth.login.Configuration configuration)voidsetIdentityService(IdentityService identityService)Set the identityService.voidsetLoginModuleName(java.lang.String name)Set the name to use to index into the config file of LoginModules.voidsetName(java.lang.String name)Set the name of the realmvoidsetRoleClassNames(java.lang.String[] classnames)booleanvalidate(UserIdentity user)Validate a user identity.-
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, doStop, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, setStopTimeout, start, stop, toString
-
-
-
-
Field Detail
-
DEFAULT_ROLE_CLASS_NAME
public static final java.lang.String DEFAULT_ROLE_CLASS_NAME
- See Also:
- Constant Field Values
-
DEFAULT_ROLE_CLASS_NAMES
public static final java.lang.String[] DEFAULT_ROLE_CLASS_NAMES
-
_roleClassNames
protected java.lang.String[] _roleClassNames
-
_callbackHandlerClass
protected java.lang.String _callbackHandlerClass
-
_realmName
protected java.lang.String _realmName
-
_loginModuleName
protected java.lang.String _loginModuleName
-
_defaultUser
protected JAASUserPrincipal _defaultUser
-
_identityService
protected IdentityService _identityService
-
_configuration
protected javax.security.auth.login.Configuration _configuration
-
-
Method Detail
-
getName
public java.lang.String getName()
Get the name of the realm.- Specified by:
getNamein interfaceLoginService- Returns:
- name or null if not set.
-
setName
public void setName(java.lang.String name)
Set the name of the realm- Parameters:
name- aStringvalue
-
getConfiguration
public javax.security.auth.login.Configuration getConfiguration()
- Returns:
- the configuration
-
setConfiguration
public void setConfiguration(javax.security.auth.login.Configuration configuration)
- Parameters:
configuration- the configuration to set
-
getIdentityService
public IdentityService getIdentityService()
Get the identityService.- Specified by:
getIdentityServicein interfaceLoginService- Returns:
- the identityService
-
setIdentityService
public void setIdentityService(IdentityService identityService)
Set the identityService.- Specified by:
setIdentityServicein interfaceLoginService- Parameters:
identityService- the identityService to set
-
setLoginModuleName
public void setLoginModuleName(java.lang.String name)
Set the name to use to index into the config file of LoginModules.- Parameters:
name- aStringvalue
-
setCallbackHandlerClass
public void setCallbackHandlerClass(java.lang.String classname)
-
setRoleClassNames
public void setRoleClassNames(java.lang.String[] classnames)
-
getRoleClassNames
public java.lang.String[] getRoleClassNames()
-
doStart
protected void doStart() throws java.lang.Exception- Overrides:
doStartin classAbstractLifeCycle- Throws:
java.lang.Exception
-
login
public UserIdentity login(java.lang.String username, java.lang.Object credentials, javax.servlet.ServletRequest request)
Description copied from interface:LoginServiceLogin a user.- Specified by:
loginin interfaceLoginService- Parameters:
username- The user namecredentials- The users credentialsrequest- TODO- Returns:
- A UserIdentity if the credentials matched, otherwise null
-
validate
public boolean validate(UserIdentity user)
Description copied from interface:LoginServiceValidate a user identity. Validate that a UserIdentity previously created by a call toLoginService.login(String, Object, ServletRequest)is still valid.- Specified by:
validatein interfaceLoginService- Parameters:
user- The user to validate- Returns:
- true if authentication has not been revoked for the user.
-
logout
public void logout(UserIdentity user)
- Specified by:
logoutin interfaceLoginService
-
getGroups
protected java.lang.String[] getGroups(javax.security.auth.Subject subject)
Get all of the groups for the user.- Parameters:
subject- the Subject representing the user- Returns:
- all the names of groups that the user is in, or 0 length array if none
-
-