Package org.eclipse.jetty.security
Class HashLoginService
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.security.AbstractLoginService
org.eclipse.jetty.security.HashLoginService
- All Implemented Interfaces:
LoginService
,Container
,Destroyable
,Dumpable
,Dumpable.DumpableContainer
,LifeCycle
Properties User Realm.
An implementation of UserRealm that stores users and roles in-memory in HashMaps.
Typically these maps are populated by calling the load() method or passing a properties resource to the constructor. The format of the properties file is:
username: password [,rolename ...]Passwords may be clear text, obfuscated or checksummed. The class com.eclipse.Util.Password should be used to generate obfuscated passwords or password checksums.
If DIGEST Authentication is used, the password must be in a recoverable format, either plain text or OBF:.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jetty.security.AbstractLoginService
AbstractLoginService.RolePrincipal, AbstractLoginService.UserPrincipal
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.Container
Container.InheritedListener, Container.Listener
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String
private UserStore
private boolean
private boolean
private static final Logger
Fields inherited from class org.eclipse.jetty.security.AbstractLoginService
_fullValidate, _identityService, _name
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doStart()
Starts the managed lifecycle beans in the order they were added.protected void
doStop()
Stops the managed lifecycle beans in the reverse order they were added.Deprecated.(package private) UserStore
To facilitate testing.boolean
Is hot reload enabled on this user store(package private) boolean
To facilitate testing.protected String[]
protected AbstractLoginService.UserPrincipal
loadUserInfo
(String userName) void
Load realm users from properties file.void
setHotReload
(boolean enable) Enable Hot Reload of the Property Filevoid
setUserStore
(UserStore userStore) Configure theUserStore
implementation to use.Methods inherited from class org.eclipse.jetty.security.AbstractLoginService
getIdentityService, getName, isFullValidate, login, logout, setFullValidate, setIdentityService, setName, toString, validate
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, 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, updateBeans
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
-
Field Details
-
LOG
-
_config
-
hotReload
private boolean hotReload -
_userStore
-
_userStoreAutoCreate
private boolean _userStoreAutoCreate
-
-
Constructor Details
-
HashLoginService
public HashLoginService() -
HashLoginService
-
HashLoginService
-
-
Method Details
-
getConfig
-
getConfigResource
Deprecated. -
setConfig
Load realm users from properties file.The property file maps usernames to password specs followed by an optional comma separated list of role names.
- Parameters:
config
- uri or url or path to realm properties file
-
isHotReload
public boolean isHotReload()Is hot reload enabled on this user store- Returns:
- true if hot reload was enabled before startup
-
setHotReload
public void setHotReload(boolean enable) Enable Hot Reload of the Property File- Parameters:
enable
- true to enable, false to disable
-
setUserStore
Configure theUserStore
implementation to use. If none, for backward compat if none thePropertyUserStore
will be used- Parameters:
userStore
- theUserStore
implementation to use
-
loadRoleInfo
- Specified by:
loadRoleInfo
in classAbstractLoginService
-
loadUserInfo
- Specified by:
loadUserInfo
in classAbstractLoginService
-
doStart
Description copied from class:ContainerLifeCycle
Starts the managed lifecycle beans in the order they were added.- Overrides:
doStart
in classContainerLifeCycle
- Throws:
Exception
- See Also:
-
getUserStore
UserStore getUserStore()To facilitate testing.- Returns:
- the UserStore
-
isUserStoreAutoCreate
boolean isUserStoreAutoCreate()To facilitate testing.- Returns:
- true if a UserStore has been created from a config, false if a UserStore was provided.
-
doStop
Description copied from class:ContainerLifeCycle
Stops the managed lifecycle beans in the reverse order they were added.- Overrides:
doStop
in classContainerLifeCycle
- Throws:
Exception
- See Also:
-