クラス JdbcUserDetailsManager
java.lang.ObjectSE
org.springframework.dao.support.DaoSupport
org.springframework.jdbc.core.support.JdbcDaoSupport
org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl
org.springframework.security.provisioning.JdbcUserDetailsManager
- 実装されたすべてのインターフェース:
org.springframework.beans.factory.Aware
、org.springframework.beans.factory.InitializingBean
、org.springframework.context.MessageSourceAware
、UserDetailsService
、GroupManager
、UserDetailsManager
親クラス JdbcDaoImpl と同じテーブル構造に基づく Jdbc ユーザー管理サービス。
ユーザーとグループの両方に CRUD 操作を提供します。enableAuthorities
プロパティが false に設定されている場合、createUser、updateUser、deleteUser の呼び出しでは、UserDetails からの権限は保存されず、ユーザーの権限も削除されません。このクラスは、個人用にロードされた権限と、個人がメンバーであるグループ用にロードされた権限を区別できないため、この実装を使用してユーザーを管理する場合は、この点を考慮することが重要です。
- 導入:
- 2.0
フィールドのサマリー
フィールド修飾子と型フィールド説明static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
static final StringSE
protected final org.apache.commons.logging.Log
クラス org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl から継承されたフィールド
DEF_AUTHORITIES_BY_USERNAME_QUERY, DEF_GROUP_AUTHORITIES_BY_USERNAME_QUERY, DEF_USERS_BY_USERNAME_QUERY, DEFAULT_USER_SCHEMA_DDL_LOCATION, messages
コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
addGroupAuthority
(StringSE groupName, GrantedAuthority authority) グループに新しい権限を割り当てます。void
addUserToGroup
(StringSE username, StringSE groupName) ユーザーを特定のグループのメンバーにします。void
changePassword
(StringSE oldPassword, StringSE newPassword) 現在のユーザーのパスワードを変更します。void
createGroup
(StringSE groupName, ListSE<GrantedAuthority> authorities) 指定された権限のリストを使用して新しいグループを作成します。protected Authentication
createNewAuthentication
(Authentication currentAuth, StringSE newPassword) void
createUser
(UserDetails user) 指定された詳細で新しいユーザーを作成します。void
deleteGroup
(StringSE groupName) すべてのメンバーと権限を含むグループを削除します。void
deleteUser
(StringSE username) 指定されたログイン名を持つユーザーをシステムから削除します。このグループマネージャーが制御するすべてのグループの名前を返します。findGroupAuthorities
(StringSE groupName) グループに割り当てられているオーソリティのリストを取得します。findUsersInGroup
(StringSE groupName) グループのメンバーであるユーザーを見つけますprotected void
initDao()
protected ListSE<UserDetails>
loadUsersByUsername
(StringSE username) SQL usersByUsernameQuery を実行し、UserDetails オブジェクトのリストを返します。void
removeGroupAuthority
(StringSE groupName, GrantedAuthority authority) グループに割り当てられた権限から権限を削除しますvoid
removeUserFromGroup
(StringSE username, StringSE groupName) グループのユーザーのメンバーシップを削除します。void
renameGroup
(StringSE oldName, StringSE newName) 割り当てられた権限またはメンバーを変更せずにグループの名前を変更します。void
setAuthenticationManager
(AuthenticationManager authenticationManager) void
setChangePasswordSql
(StringSE changePasswordSql) void
setCreateAuthoritySql
(StringSE createAuthoritySql) void
setCreateUserSql
(StringSE createUserSql) void
setDeleteGroupAuthoritiesSql
(StringSE deleteGroupAuthoritiesSql) void
setDeleteGroupAuthoritySql
(StringSE deleteGroupAuthoritySql) void
setDeleteGroupMemberSql
(StringSE deleteGroupMemberSql) void
setDeleteGroupMembersSql
(StringSE deleteGroupMembersSql) void
setDeleteGroupSql
(StringSE deleteGroupSql) void
setDeleteUserAuthoritiesSql
(StringSE deleteUserAuthoritiesSql) void
setDeleteUserSql
(StringSE deleteUserSql) void
setFindAllGroupsSql
(StringSE findAllGroupsSql) void
setFindGroupIdSql
(StringSE findGroupIdSql) void
setFindUsersInGroupSql
(StringSE findUsersInGroupSql) void
setGroupAuthoritiesSql
(StringSE groupAuthoritiesSql) void
setInsertGroupAuthoritySql
(StringSE insertGroupAuthoritySql) void
setInsertGroupMemberSql
(StringSE insertGroupMemberSql) void
setInsertGroupSql
(StringSE insertGroupSql) void
setRenameGroupSql
(StringSE renameGroupSql) void
setSecurityContextHolderStrategy
(SecurityContextHolderStrategy securityContextHolderStrategy) 使用するSecurityContextHolderStrategy
を設定します。void
setUpdateUserSql
(StringSE updateUserSql) void
setUserCache
(UserCache userCache) オプションで、UserCache がアプリケーションで使用されている場合は設定します。void
setUserExistsSql
(StringSE userExistsSql) void
updateUser
(UserDetails user) 指定されたユーザーを更新します。boolean
userExists
(StringSE username) 指定されたログイン名を持つユーザーがシステムに存在するかどうかを確認します。クラス org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl から継承されたメソッド
addCustomAuthorities, createUserDetails, getAuthoritiesByUsernameQuery, getEnableAuthorities, getEnableGroups, getMessages, getRolePrefix, getUsersByUsernameQuery, isUsernameBasedPrimaryKey, loadGroupAuthorities, loadUserAuthorities, loadUserByUsername, setAuthoritiesByUsernameQuery, setEnableAuthorities, setEnableGroups, setGroupAuthoritiesByUsernameQuery, setMessageSource, setRolePrefix, setUsernameBasedPrimaryKey, setUsersByUsernameQuery
クラス org.springframework.jdbc.core.support.JdbcDaoSupport から継承されたメソッド
checkDaoConfig, createJdbcTemplate, getConnection, getDataSource, getExceptionTranslator, getJdbcTemplate, initTemplateConfig, releaseConnection, setDataSource, setJdbcTemplate
クラス org.springframework.dao.support.DaoSupport から継承されたメソッド
afterPropertiesSet
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.security.core.userdetails.UserDetailsService から継承されたメソッド
loadUserByUsername
フィールドの詳細
DEF_CREATE_USER_SQL
- 関連事項:
DEF_DELETE_USER_SQL
- 関連事項:
DEF_UPDATE_USER_SQL
- 関連事項:
DEF_INSERT_AUTHORITY_SQL
- 関連事項:
DEF_DELETE_USER_AUTHORITIES_SQL
- 関連事項:
DEF_USER_EXISTS_SQL
- 関連事項:
DEF_CHANGE_PASSWORD_SQL
- 関連事項:
DEF_FIND_GROUPS_SQL
- 関連事項:
DEF_FIND_USERS_IN_GROUP_SQL
- 関連事項:
DEF_INSERT_GROUP_SQL
- 関連事項:
DEF_FIND_GROUP_ID_SQL
- 関連事項:
DEF_INSERT_GROUP_AUTHORITY_SQL
- 関連事項:
DEF_DELETE_GROUP_SQL
- 関連事項:
DEF_DELETE_GROUP_AUTHORITIES_SQL
- 関連事項:
DEF_DELETE_GROUP_MEMBERS_SQL
- 関連事項:
DEF_RENAME_GROUP_SQL
- 関連事項:
DEF_INSERT_GROUP_MEMBER_SQL
- 関連事項:
DEF_DELETE_GROUP_MEMBER_SQL
- 関連事項:
DEF_GROUP_AUTHORITIES_QUERY_SQL
- 関連事項:
DEF_DELETE_GROUP_AUTHORITY_SQL
- 関連事項:
logger
protected final org.apache.commons.logging.Log logger
コンストラクターの詳細
JdbcUserDetailsManager
public JdbcUserDetailsManager()JdbcUserDetailsManager
メソッドの詳細
initDao
protected void initDao() throws org.springframework.context.ApplicationContextException- オーバーライド:
- クラス
JdbcDaoImpl
のinitDao
- 例外:
org.springframework.context.ApplicationContextException
loadUsersByUsername
SQL usersByUsernameQuery を実行し、UserDetails オブジェクトのリストを返します。通常、一致するユーザーは 1 人だけです。- オーバーライド:
- クラス
JdbcDaoImpl
のloadUsersByUsername
createUser
インターフェースからコピーされた説明:UserDetailsManager
指定された詳細で新しいユーザーを作成します。- 次で指定:
- インターフェース
UserDetailsManager
のcreateUser
updateUser
インターフェースからコピーされた説明:UserDetailsManager
指定されたユーザーを更新します。- 次で指定:
- インターフェース
UserDetailsManager
のupdateUser
deleteUser
インターフェースからコピーされた説明:UserDetailsManager
指定されたログイン名を持つユーザーをシステムから削除します。- 次で指定:
- インターフェース
UserDetailsManager
のdeleteUser
changePassword
public void changePassword(StringSE oldPassword, StringSE newPassword) throws AuthenticationException インターフェースからコピーされた説明:UserDetailsManager
現在のユーザーのパスワードを変更します。これにより、永続的なユーザーリポジトリ (データベース、LDAP など) 内のユーザーのパスワードが変更されます。- 次で指定:
- インターフェース
UserDetailsManager
のchangePassword
- パラメーター:
oldPassword
- 現在のパスワード (必要に応じて再認証する)newPassword
- 変更するパスワード- 例外:
AuthenticationException
createNewAuthentication
userExists
インターフェースからコピーされた説明:UserDetailsManager
指定されたログイン名を持つユーザーがシステムに存在するかどうかを確認します。- 次で指定:
- インターフェース
UserDetailsManager
のuserExists
findAllGroups
インターフェースからコピーされた説明:GroupManager
このグループマネージャーが制御するすべてのグループの名前を返します。- 次で指定:
- インターフェース
GroupManager
のfindAllGroups
findUsersInGroup
インターフェースからコピーされた説明:GroupManager
グループのメンバーであるユーザーを見つけます- 次で指定:
- インターフェース
GroupManager
のfindUsersInGroup
- パラメーター:
groupName
- メンバーが必要なグループ- 戻り値:
- グループメンバーのユーザー名
createGroup
インターフェースからコピーされた説明:GroupManager
指定された権限のリストを使用して新しいグループを作成します。- 次で指定:
- インターフェース
GroupManager
のcreateGroup
- パラメーター:
groupName
- 新しいグループの名前authorities
- このグループに割り当てられる権限。
deleteGroup
インターフェースからコピーされた説明:GroupManager
すべてのメンバーと権限を含むグループを削除します。- 次で指定:
- インターフェース
GroupManager
のdeleteGroup
- パラメーター:
groupName
- 削除するグループ。
renameGroup
インターフェースからコピーされた説明:GroupManager
割り当てられた権限またはメンバーを変更せずにグループの名前を変更します。- 次で指定:
- インターフェース
GroupManager
のrenameGroup
addUserToGroup
インターフェースからコピーされた説明:GroupManager
ユーザーを特定のグループのメンバーにします。- 次で指定:
- インターフェース
GroupManager
のaddUserToGroup
- パラメーター:
username
- メンバーシップを付与されるユーザー。groupName
- ユーザーが追加されるグループの名前。
removeUserFromGroup
インターフェースからコピーされた説明:GroupManager
グループのユーザーのメンバーシップを削除します。- 次で指定:
- インターフェース
GroupManager
のremoveUserFromGroup
- パラメーター:
username
- ユーザーgroupName
- それらを削除するグループ
findGroupAuthorities
インターフェースからコピーされた説明:GroupManager
グループに割り当てられているオーソリティのリストを取得します。- 次で指定:
- インターフェース
GroupManager
のfindGroupAuthorities
removeGroupAuthority
インターフェースからコピーされた説明:GroupManager
グループに割り当てられた権限から権限を削除します- 次で指定:
- インターフェース
GroupManager
のremoveGroupAuthority
addGroupAuthority
インターフェースからコピーされた説明:GroupManager
グループに新しい権限を割り当てます。- 次で指定:
- インターフェース
GroupManager
のaddGroupAuthority
setSecurityContextHolderStrategy
public void setSecurityContextHolderStrategy(SecurityContextHolderStrategy securityContextHolderStrategy) 使用するSecurityContextHolderStrategy
を設定します。デフォルトのアクションは、SecurityContextHolder
に格納されているSecurityContextHolderStrategy
を使用することです。- 導入:
- 5.8
setAuthenticationManager
setCreateUserSql
setDeleteUserSql
setUpdateUserSql
setCreateAuthoritySql
setDeleteUserAuthoritiesSql
setUserExistsSql
setChangePasswordSql
setFindAllGroupsSql
setFindUsersInGroupSql
setInsertGroupSql
setFindGroupIdSql
setInsertGroupAuthoritySql
setDeleteGroupSql
setDeleteGroupAuthoritiesSql
setDeleteGroupMembersSql
setRenameGroupSql
setInsertGroupMemberSql
setDeleteGroupMemberSql
setGroupAuthoritiesSql
setDeleteGroupAuthoritySql
setUserCache
オプションで、UserCache がアプリケーションで使用されている場合は設定します。これにより、更新が行われた後にユーザーをキャッシュから削除して、古いデータを回避できます。- パラメーター:
userCache
- AuthenticationManager が使用するキャッシュ。