@ManagedResource(objectName="Taverna:group=Server-3.1.0,name=Users", description="The user database.") public class UserStore extends JDOSupport<User> implements org.springframework.security.core.userdetails.UserDetailsService, UserStoreAPI
Modifier and Type | Class and Description |
---|---|
static class |
UserStore.CachedUserStore |
JDOSupport.PersistenceManagerBuilder, JDOSupport.TransactionAspect, JDOSupport.WithinSingleTransaction
Constructor and Description |
---|
UserStore() |
Modifier and Type | Method and Description |
---|---|
void |
addUser(String username,
String password,
boolean coupleLocalUsername)
Create a new user account; the account will be disabled and
non-administrative by default.
|
void |
deleteUser(String username)
Delete a server account.
|
User |
getUser(String userName)
Get a particular user's description.
|
Map<String,String> |
getUserInfo(String userName)
Get information about a server account.
|
List<String> |
getUserNames()
List the currently-known account names.
|
List<org.springframework.security.core.userdetails.UserDetails> |
listUsers()
Get a list of all the users in the database.
|
org.springframework.security.core.userdetails.UserDetails |
loadUserByUsername(String username) |
void |
setBaselineUserProperties(Properties props) |
void |
setDefaultLocalUser(String defLocalUser) |
void |
setEncoder(org.springframework.security.crypto.password.PasswordEncoder encoder)
Install the encoder that will be used to turn a plaintext password into
something that it is safe to store in the database.
|
void |
setUserAdmin(String username,
boolean admin)
Set or clear the mark on an account that indicates that it has
administrative privileges.
|
void |
setUserEnabled(String username,
boolean enabled)
Set or clear whether this account is enabled.
|
void |
setUserLocalUser(String username,
String localUsername)
Change what local system account to use for a server account.
|
void |
setUserPassword(String username,
String password)
Change the password for an account.
|
delete, detach, getById, isPersistent, namedQuery, persist, query, setPersistenceManagerBuilder
public void setEncoder(org.springframework.security.crypto.password.PasswordEncoder encoder)
encoder
- The password encoder bean to install.public void setBaselineUserProperties(Properties props)
public void setDefaultLocalUser(String defLocalUser)
@CallTimeLogger.PerfLogged @JDOSupport.WithinSingleTransaction @ManagedAttribute(description="The list of server accounts known about.", currencyTimeLimit=30) public List<String> getUserNames()
UserStoreAPI
getUserNames
in interface UserStoreAPI
@CallTimeLogger.PerfLogged @JDOSupport.WithinSingleTransaction public User getUser(String userName)
UserStoreAPI
getUser
in interface UserStoreAPI
userName
- The username to look up.@CallTimeLogger.PerfLogged @JDOSupport.WithinSingleTransaction @ManagedOperation(description="Get information about a server account.") @ManagedOperationParameters(value=) public Map<String,String> getUserInfo(String userName)
userName
- The username to look up.@CallTimeLogger.PerfLogged @JDOSupport.WithinSingleTransaction public List<org.springframework.security.core.userdetails.UserDetails> listUsers()
@CallTimeLogger.PerfLogged @JDOSupport.WithinSingleTransaction @ManagedOperation(description="Create a new user account; the account will be disabled and non-administrative by default. Does not create any underlying system account.") @ManagedOperationParameters(value={@ManagedOperationParameter(name="username",description="The username to create."),,}) public void addUser(String username, String password, boolean coupleLocalUsername)
UserStoreAPI
addUser
in interface UserStoreAPI
username
- The username to create.password
- The password to use.coupleLocalUsername
- Whether to set the local user name to the 'main' one.@CallTimeLogger.PerfLogged @JDOSupport.WithinSingleTransaction @ManagedOperation(description="Set or clear whether this account is enabled. Disabled accounts cannot be used to log in.") @ManagedOperationParameters(value={@ManagedOperationParameter(name="username",description="The username to adjust."),}) public void setUserEnabled(String username, boolean enabled)
UserStoreAPI
setUserEnabled
in interface UserStoreAPI
username
- The username to adjust.enabled
- Whether to enable the account.@CallTimeLogger.PerfLogged @JDOSupport.WithinSingleTransaction @ManagedOperation(description="Set or clear the mark on an account that indicates that it has administrative privileges.") @ManagedOperationParameters(value={@ManagedOperationParameter(name="username",description="The username to adjust."),}) public void setUserAdmin(String username, boolean admin)
UserStoreAPI
setUserAdmin
in interface UserStoreAPI
username
- The username to adjust.admin
- Whether the account has admin privileges.@CallTimeLogger.PerfLogged @JDOSupport.WithinSingleTransaction @ManagedOperation(description="Change the password for an account.") @ManagedOperationParameters(value={@ManagedOperationParameter(name="username",description="The username to adjust."),}) public void setUserPassword(String username, String password)
UserStoreAPI
setUserPassword
in interface UserStoreAPI
username
- The username to adjust.password
- The new password to use.@CallTimeLogger.PerfLogged @JDOSupport.WithinSingleTransaction @ManagedOperation(description="Change what local system account to use for a server account.") @ManagedOperationParameters(value={@ManagedOperationParameter(name="username",description="The username to adjust."),}) public void setUserLocalUser(String username, String localUsername)
UserStoreAPI
setUserLocalUser
in interface UserStoreAPI
username
- The username to adjust.localUsername
- The new local user account use.@CallTimeLogger.PerfLogged @JDOSupport.WithinSingleTransaction @ManagedOperation(description="Delete a server account. The underlying system account is not modified.") @ManagedOperationParameters(value=) public void deleteUser(String username)
UserStoreAPI
deleteUser
in interface UserStoreAPI
username
- The username to delete.@CallTimeLogger.PerfLogged @JDOSupport.WithinSingleTransaction public org.springframework.security.core.userdetails.UserDetails loadUserByUsername(String username) throws org.springframework.security.core.userdetails.UsernameNotFoundException, org.springframework.dao.DataAccessException
loadUserByUsername
in interface org.springframework.security.core.userdetails.UserDetailsService
org.springframework.security.core.userdetails.UsernameNotFoundException
org.springframework.dao.DataAccessException
Copyright © 2015–2018 The Apache Software Foundation. All rights reserved.