Class JAASLoginService
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.jaas.JAASLoginService
- All Implemented Interfaces:
LoginService, Container, Destroyable, Dumpable, Dumpable.DumpableContainer, LifeCycle
JAASLoginService
Implementation of jetty's LoginService that works with JAAS for
authorization and authentication.
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListenerNested classes/interfaces inherited from interface Container
Container.InheritedListener, Container.ListenerNested classes/interfaces inherited from interface Dumpable
Dumpable.DumpableContainerNested classes/interfaces inherited from interface LifeCycle
LifeCycle.Listener -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringprotected Configurationprotected JAASUserPrincipalprotected IdentityServiceprotected Stringprotected Stringprotected String[]static final Stringstatic final String[]static final ThreadLocal<JAASLoginService> private static final Logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoStart()Starts the managed lifecycle beans in the order they were added.protected String[]Get all of the groups for the user.Get the identityService.getName()Get the name of the realm.String[]private StringgetUserName(CallbackHandler callbackHandler) private static booleanisRoleClass(Class<?> clazz, List<String> roleClassNames) Check whether the class, its superclasses or any interfaces they implement is one of the classes that represents a role.Login a user.voidlogout(UserIdentity user) voidsetCallbackHandlerClass(String classname) voidsetConfiguration(Configuration configuration) voidsetIdentityService(IdentityService identityService) Set the identityService.voidsetLoginModuleName(String name) Set the name to use to index into the config file of LoginModules.voidSet the name of the realmvoidsetRoleClassNames(String[] classnames) booleanvalidate(UserIdentity user) Validate a user identity.Methods inherited from class ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, doStop, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeansMethods inherited from class AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Dumpable.DumpableContainer
isDumpable
-
Field Details
-
LOG
-
DEFAULT_ROLE_CLASS_NAME
- See Also:
-
DEFAULT_ROLE_CLASS_NAMES
-
INSTANCE
-
_roleClassNames
-
_callbackHandlerClass
-
_realmName
-
_loginModuleName
-
_defaultUser
-
_identityService
-
_configuration
-
-
Constructor Details
-
JAASLoginService
public JAASLoginService() -
JAASLoginService
- Parameters:
name- the name of the realm
-
-
Method Details
-
getName
Get the name of the realm.- Specified by:
getNamein interfaceLoginService- Returns:
- name or null if not set.
-
setName
-
getConfiguration
- Returns:
- the configuration
-
setConfiguration
- Parameters:
configuration- the configuration to set
-
getIdentityService
Get the identityService.- Specified by:
getIdentityServicein interfaceLoginService- Returns:
- the identityService
-
setIdentityService
Set the identityService.- Specified by:
setIdentityServicein interfaceLoginService- Parameters:
identityService- the identityService to set
-
setLoginModuleName
Set the name to use to index into the config file of LoginModules.- Parameters:
name- aStringvalue
-
setCallbackHandlerClass
-
setRoleClassNames
-
getRoleClassNames
-
doStart
Description copied from class:ContainerLifeCycleStarts the managed lifecycle beans in the order they were added.- Overrides:
doStartin classContainerLifeCycle- Throws:
Exception
-
login
public UserIdentity login(String username, 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
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.
-
getUserName
private String getUserName(CallbackHandler callbackHandler) throws IOException, UnsupportedCallbackException -
logout
- Specified by:
logoutin interfaceLoginService
-
getGroups
-
isRoleClass
Check whether the class, its superclasses or any interfaces they implement is one of the classes that represents a role.- Parameters:
clazz- the class to checkroleClassNames- the list of classnames that represent roles- Returns:
- true if the class is a role class
-