T
- type of entity representing userspublic abstract class AbstractDatabaseUserRepository<T extends org.springframework.security.core.userdetails.UserDetails>
extends java.lang.Object
implements io.jmix.core.security.UserRepository, io.jmix.core.security.UserManager
UserRepository
that loads users from the database.
The type of entity representing users is specified in the getUserClass()
method.Modifier and Type | Class and Description |
---|---|
class |
AbstractDatabaseUserRepository.GrantedAuthoritiesBuilder
Helps create authorities from roles.
|
Modifier and Type | Field and Description |
---|---|
protected org.springframework.context.ApplicationEventPublisher |
eventPublisher |
Constructor and Description |
---|
AbstractDatabaseUserRepository() |
Modifier and Type | Method and Description |
---|---|
void |
changePassword(java.lang.String userName,
java.lang.String oldPassword,
java.lang.String newPassword) |
protected T |
createAnonymousUser()
Creates the built-in 'anonymous' user.
|
protected T |
createSystemUser()
Creates the built-in 'system' user.
|
T |
getAnonymousUser() |
java.util.List<T> |
getByUsernameLike(java.lang.String substring) |
protected AbstractDatabaseUserRepository.GrantedAuthoritiesBuilder |
getGrantedAuthoritiesBuilder()
Returns a builder that helps create authorities from roles.
|
T |
getSystemUser() |
protected abstract java.lang.Class<T> |
getUserClass()
Returns the class of a JPA entity representing users in the application.
|
protected void |
initAnonymousUser(T anonymousUser)
Initializes the built-in 'anonymous' user.
|
protected void |
initSystemUser(T systemUser)
Initializes the built-in 'system' user.
|
protected boolean |
isUserDisabled(io.jmix.core.event.EntityChangedEvent<? extends org.springframework.security.core.userdetails.UserDetails> event) |
T |
loadUserByUsername(java.lang.String username) |
java.util.Map<org.springframework.security.core.userdetails.UserDetails,java.lang.String> |
resetPasswords(java.util.Set<org.springframework.security.core.userdetails.UserDetails> users) |
void |
resetRememberMe(java.util.Collection<org.springframework.security.core.userdetails.UserDetails> users) |
@Autowired protected org.springframework.context.ApplicationEventPublisher eventPublisher
protected abstract java.lang.Class<T> getUserClass()
protected T createSystemUser()
protected void initSystemUser(T systemUser)
protected T createAnonymousUser()
protected void initAnonymousUser(T anonymousUser)
public T getSystemUser()
getSystemUser
in interface io.jmix.core.security.UserRepository
public T getAnonymousUser()
getAnonymousUser
in interface io.jmix.core.security.UserRepository
public java.util.List<T> getByUsernameLike(java.lang.String substring)
getByUsernameLike
in interface io.jmix.core.security.UserRepository
public T loadUserByUsername(java.lang.String username) throws org.springframework.security.core.userdetails.UsernameNotFoundException
loadUserByUsername
in interface org.springframework.security.core.userdetails.UserDetailsService
org.springframework.security.core.userdetails.UsernameNotFoundException
public void changePassword(java.lang.String userName, @Nullable java.lang.String oldPassword, @Nullable java.lang.String newPassword) throws io.jmix.core.security.PasswordNotMatchException
changePassword
in interface io.jmix.core.security.UserManager
io.jmix.core.security.PasswordNotMatchException
public java.util.Map<org.springframework.security.core.userdetails.UserDetails,java.lang.String> resetPasswords(java.util.Set<org.springframework.security.core.userdetails.UserDetails> users)
resetPasswords
in interface io.jmix.core.security.UserManager
public void resetRememberMe(java.util.Collection<org.springframework.security.core.userdetails.UserDetails> users)
resetRememberMe
in interface io.jmix.core.security.UserManager
protected AbstractDatabaseUserRepository.GrantedAuthoritiesBuilder getGrantedAuthoritiesBuilder()
protected boolean isUserDisabled(io.jmix.core.event.EntityChangedEvent<? extends org.springframework.security.core.userdetails.UserDetails> event)