java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.security.jaas.JAASLoginService
- All Implemented Interfaces:
LoginService,org.eclipse.jetty.util.component.Container,org.eclipse.jetty.util.component.Destroyable,org.eclipse.jetty.util.component.Dumpable,org.eclipse.jetty.util.component.Dumpable.DumpableContainer,org.eclipse.jetty.util.component.LifeCycle
public class JAASLoginService
extends org.eclipse.jetty.util.component.ContainerLifeCycle
implements LoginService
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
org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener, org.eclipse.jetty.util.component.AbstractLifeCycle.StopExceptionNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
org.eclipse.jetty.util.component.Container.InheritedListener, org.eclipse.jetty.util.component.Container.ListenerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
org.eclipse.jetty.util.component.Dumpable.DumpableContainerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
org.eclipse.jetty.util.component.LifeCycle.Listener -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Stringprotected Configurationprotected JAASUserPrincipalprotected IdentityServiceprotected Stringprotected Stringprotected String[]static final Stringstatic final String[]static final ThreadLocal<JAASLoginService> Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
FAILED, STARTED, STARTING, STOPPED, STOPPINGFields inherited from interface org.eclipse.jetty.util.component.Dumpable
KEY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoStart()Get the configuration.protected String[]Get all of the groups for the user.Get the identityService.getName()Get the name of the realm.String[]login(String username, Object credentials, org.eclipse.jetty.server.Request request, Function<Boolean, org.eclipse.jetty.server.Session> getOrCreateSession) Login a user.voidlogout(UserIdentity user) voidsetCallbackHandlerClass(String classname) voidsetConfiguration(Configuration configuration) Set the configuration to set.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 org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, doStop, dump, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans, updateBeansMethods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stop, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.jetty.util.component.Container
getCachedBeans, getEventListenersMethods inherited from interface org.eclipse.jetty.util.component.Dumpable
dumpSelfMethods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpableMethods inherited from interface org.eclipse.jetty.security.LoginService
getUserIdentity
-
Field Details
-
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
Set the name of the realm- Parameters:
name- aStringvalue
-
getConfiguration
Get the configuration.- Returns:
- the configuration
-
setConfiguration
Set the configuration to set.- 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
- Overrides:
doStartin classorg.eclipse.jetty.util.component.ContainerLifeCycle- Throws:
Exception
-
login
public UserIdentity login(String username, Object credentials, org.eclipse.jetty.server.Request request, Function<Boolean, org.eclipse.jetty.server.Session> getOrCreateSession) Description copied from interface:LoginServiceLogin a user.- Specified by:
loginin interfaceLoginService- Parameters:
username- The username.credentials- The users credentials.request- The request or nullgetOrCreateSession- function to retrieve or create a session.- 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, Request, Function)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
- Specified by:
logoutin interfaceLoginService
-
getGroups
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
-