public interface UmsUserDetailsService extends org.springframework.security.core.userdetails.UserDetailsService, UserDetailsRegisterService
TenantContextHolder.getTenantId() 来获取租户 id, TenantContextHolder 需自己实现.
因为多租户授权逻辑必须要有 TENANT_tenantId Authority, 所以多租户注册时新用户时必须要添加 TENANT_tenantId Authority.| 限定符和类型 | 方法和说明 |
|---|---|
List<Boolean> |
existedByUsernames(String... usernames)
在本地账户中检查是否存在 usernames, usernames 为本地账户的 usernames.
|
default String[] |
generateUsernames(me.zhyd.oauth.model.AuthUser authUser)
existedByUsernames(String...) usernames 生成规则. |
org.springframework.security.core.userdetails.UserDetails |
loadUserByUserId(String userId)
用于第三方登录时查询服务, userId 为本地账户的 userId, 如果是多租户系统, 查询时通过
TenantContextHolder.getTenantId() 来获取租户 id. |
registerUser, registerUser, registerUser, registerUser@NonNull
org.springframework.security.core.userdetails.UserDetails loadUserByUserId(@NonNull
String userId)
throws org.springframework.security.core.userdetails.UsernameNotFoundException
TenantContextHolder.getTenantId() 来获取租户 id.userId - userId 为本地账户的 userId (必须具有唯一性, username 支持唯一索引, 也可以是 username)UserDetails.getUsername() 中的 username 即视为 userIdorg.springframework.security.core.userdetails.UsernameNotFoundException - 没有此 userId 的用户UserDetailsService.loadUserByUsername(String)@NonNull List<Boolean> existedByUsernames(@NonNull String... usernames) throws IOException
TenantContextHolder.getTenantId() 来获取租户 id.usernames - usernames 为本地账户的 username, 一般通过调用 generateUsernames(AuthUser) 获取IOException - 数据库查询异常@NonNull default String[] generateUsernames(@NonNull me.zhyd.oauth.model.AuthUser authUser)
existedByUsernames(String...) usernames 生成规则.
如需自定义重新实现此逻辑authUser - 第三方用户信息Copyright © 2021. All rights reserved.