|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.dao.support.DaoSupport org.springframework.jdbc.core.support.JdbcDaoSupport org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl org.springframework.security.provisioning.JdbcUserDetailsManager
public class JdbcUserDetailsManager
Jdbc user management service, based on the same table structure as its parent class, JdbcDaoImpl.
Provides CRUD operations for both users and groups. Note that if the enableAuthorities
property is set to false, calls to createUser, updateUser and deleteUser will not store the
authorities from the UserDetails or delete authorities for the user. Since this class cannot differentiate
between authorities which were loaded for an individual or for a group of which the individual is a member,
it's important that you take this into account when using this implementation for managing your users.
Field Summary | |
---|---|
static String |
DEF_CHANGE_PASSWORD_SQL
|
static String |
DEF_CREATE_USER_SQL
|
static String |
DEF_DELETE_GROUP_AUTHORITIES_SQL
|
static String |
DEF_DELETE_GROUP_AUTHORITY_SQL
|
static String |
DEF_DELETE_GROUP_MEMBER_SQL
|
static String |
DEF_DELETE_GROUP_MEMBERS_SQL
|
static String |
DEF_DELETE_GROUP_SQL
|
static String |
DEF_DELETE_USER_AUTHORITIES_SQL
|
static String |
DEF_DELETE_USER_SQL
|
static String |
DEF_FIND_GROUP_ID_SQL
|
static String |
DEF_FIND_GROUPS_SQL
|
static String |
DEF_FIND_USERS_IN_GROUP_SQL
|
static String |
DEF_GROUP_AUTHORITIES_QUERY_SQL
|
static String |
DEF_INSERT_AUTHORITY_SQL
|
static String |
DEF_INSERT_GROUP_AUTHORITY_SQL
|
static String |
DEF_INSERT_GROUP_MEMBER_SQL
|
static String |
DEF_INSERT_GROUP_SQL
|
static String |
DEF_RENAME_GROUP_SQL
|
static String |
DEF_UPDATE_USER_SQL
|
static String |
DEF_USER_EXISTS_SQL
|
protected org.apache.commons.logging.Log |
logger
|
Fields inherited from class org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl |
---|
DEF_AUTHORITIES_BY_USERNAME_QUERY, DEF_GROUP_AUTHORITIES_BY_USERNAME_QUERY, DEF_USERS_BY_USERNAME_QUERY, messages |
Constructor Summary | |
---|---|
JdbcUserDetailsManager()
|
Method Summary | |
---|---|
void |
addGroupAuthority(String groupName,
GrantedAuthority authority)
Assigns a new authority to a group. |
void |
addUserToGroup(String username,
String groupName)
Makes a user a member of a particular group. |
void |
changePassword(String oldPassword,
String newPassword)
Modify the current user's password. |
void |
createGroup(String groupName,
List<GrantedAuthority> authorities)
Creates a new group with the specified list of authorities. |
protected Authentication |
createNewAuthentication(Authentication currentAuth,
String newPassword)
|
void |
createUser(UserDetails user)
Create a new user with the supplied details. |
void |
deleteGroup(String groupName)
Removes a group, including all members and authorities. |
void |
deleteUser(String username)
Remove the user with the given login name from the system. |
List<String> |
findAllGroups()
Returns the names of all groups that this group manager controls. |
List<GrantedAuthority> |
findGroupAuthorities(String groupName)
Obtains the list of authorities which are assigned to a group. |
List<String> |
findUsersInGroup(String groupName)
Locates the users who are members of a group |
protected void |
initDao()
|
void |
removeGroupAuthority(String groupName,
GrantedAuthority authority)
Deletes an authority from those assigned to a group |
void |
removeUserFromGroup(String username,
String groupName)
Deletes a user's membership of a group. |
void |
renameGroup(String oldName,
String newName)
Changes the name of a group without altering the assigned authorities or members. |
void |
setAuthenticationManager(AuthenticationManager authenticationManager)
|
void |
setChangePasswordSql(String changePasswordSql)
|
void |
setCreateAuthoritySql(String createAuthoritySql)
|
void |
setCreateUserSql(String createUserSql)
|
void |
setDeleteUserAuthoritiesSql(String deleteUserAuthoritiesSql)
|
void |
setDeleteUserSql(String deleteUserSql)
|
void |
setFindAllGroupsSql(String findAllGroupsSql)
|
void |
setUpdateUserSql(String updateUserSql)
|
void |
setUserCache(UserCache userCache)
Optionally sets the UserCache if one is in use in the application. |
void |
setUserExistsSql(String userExistsSql)
|
void |
updateUser(UserDetails user)
Update the specified user. |
boolean |
userExists(String username)
Check if a user with the supplied login name exists in the system. |
Methods inherited from class org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl |
---|
addCustomAuthorities, createUserDetails, getAuthoritiesByUsernameQuery, getEnableAuthorities, getEnableGroups, getRolePrefix, getUsersByUsernameQuery, isUsernameBasedPrimaryKey, loadGroupAuthorities, loadUserAuthorities, loadUserByUsername, loadUsersByUsername, setAuthoritiesByUsernameQuery, setEnableAuthorities, setEnableGroups, setGroupAuthoritiesByUsernameQuery, setRolePrefix, setUsernameBasedPrimaryKey, setUsersByUsernameQuery |
Methods inherited from class org.springframework.jdbc.core.support.JdbcDaoSupport |
---|
checkDaoConfig, createJdbcTemplate, getConnection, getDataSource, getExceptionTranslator, getJdbcTemplate, initTemplateConfig, releaseConnection, setDataSource, setJdbcTemplate |
Methods inherited from class org.springframework.dao.support.DaoSupport |
---|
afterPropertiesSet |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.springframework.security.core.userdetails.UserDetailsService |
---|
loadUserByUsername |
Field Detail |
---|
public static final String DEF_CREATE_USER_SQL
public static final String DEF_DELETE_USER_SQL
public static final String DEF_UPDATE_USER_SQL
public static final String DEF_INSERT_AUTHORITY_SQL
public static final String DEF_DELETE_USER_AUTHORITIES_SQL
public static final String DEF_USER_EXISTS_SQL
public static final String DEF_CHANGE_PASSWORD_SQL
public static final String DEF_FIND_GROUPS_SQL
public static final String DEF_FIND_USERS_IN_GROUP_SQL
public static final String DEF_INSERT_GROUP_SQL
public static final String DEF_FIND_GROUP_ID_SQL
public static final String DEF_INSERT_GROUP_AUTHORITY_SQL
public static final String DEF_DELETE_GROUP_SQL
public static final String DEF_DELETE_GROUP_AUTHORITIES_SQL
public static final String DEF_DELETE_GROUP_MEMBERS_SQL
public static final String DEF_RENAME_GROUP_SQL
public static final String DEF_INSERT_GROUP_MEMBER_SQL
public static final String DEF_DELETE_GROUP_MEMBER_SQL
public static final String DEF_GROUP_AUTHORITIES_QUERY_SQL
public static final String DEF_DELETE_GROUP_AUTHORITY_SQL
protected final org.apache.commons.logging.Log logger
Constructor Detail |
---|
public JdbcUserDetailsManager()
Method Detail |
---|
protected void initDao() throws ApplicationContextException
initDao
in class JdbcDaoImpl
ApplicationContextException
public void createUser(UserDetails user)
UserDetailsManager
createUser
in interface UserDetailsManager
public void updateUser(UserDetails user)
UserDetailsManager
updateUser
in interface UserDetailsManager
public void deleteUser(String username)
UserDetailsManager
deleteUser
in interface UserDetailsManager
public void changePassword(String oldPassword, String newPassword) throws AuthenticationException
UserDetailsManager
changePassword
in interface UserDetailsManager
oldPassword
- current password (for re-authentication if required)newPassword
- the password to change to
AuthenticationException
protected Authentication createNewAuthentication(Authentication currentAuth, String newPassword)
public boolean userExists(String username)
UserDetailsManager
userExists
in interface UserDetailsManager
public List<String> findAllGroups()
GroupManager
findAllGroups
in interface GroupManager
public List<String> findUsersInGroup(String groupName)
GroupManager
findUsersInGroup
in interface GroupManager
groupName
- the group whose members are required
public void createGroup(String groupName, List<GrantedAuthority> authorities)
GroupManager
createGroup
in interface GroupManager
groupName
- the name for the new groupauthorities
- the authorities which are to be allocated to this group.public void deleteGroup(String groupName)
GroupManager
deleteGroup
in interface GroupManager
groupName
- the group to remove.public void renameGroup(String oldName, String newName)
GroupManager
renameGroup
in interface GroupManager
public void addUserToGroup(String username, String groupName)
GroupManager
addUserToGroup
in interface GroupManager
username
- the user to be given membership.groupName
- the name of the group to which the user will be added.public void removeUserFromGroup(String username, String groupName)
GroupManager
removeUserFromGroup
in interface GroupManager
username
- the usergroupName
- the group to remove them frompublic List<GrantedAuthority> findGroupAuthorities(String groupName)
GroupManager
findGroupAuthorities
in interface GroupManager
public void removeGroupAuthority(String groupName, GrantedAuthority authority)
GroupManager
removeGroupAuthority
in interface GroupManager
public void addGroupAuthority(String groupName, GrantedAuthority authority)
GroupManager
addGroupAuthority
in interface GroupManager
public void setAuthenticationManager(AuthenticationManager authenticationManager)
public void setCreateUserSql(String createUserSql)
public void setDeleteUserSql(String deleteUserSql)
public void setUpdateUserSql(String updateUserSql)
public void setCreateAuthoritySql(String createAuthoritySql)
public void setDeleteUserAuthoritiesSql(String deleteUserAuthoritiesSql)
public void setUserExistsSql(String userExistsSql)
public void setChangePasswordSql(String changePasswordSql)
public void setFindAllGroupsSql(String findAllGroupsSql)
public void setUserCache(UserCache userCache)
userCache
- the cache used by the AuthenticationManager.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |