类 HerodotusUserDetailsService
java.lang.Object
cn.herodotus.engine.oauth2.management.processor.HerodotusUserDetailsService
- 所有已实现的接口:
cn.herodotus.engine.oauth2.core.definition.service.EnhanceUserDetailsService,org.springframework.security.core.userdetails.UserDetailsService
public class HerodotusUserDetailsService
extends Object
implements cn.herodotus.engine.oauth2.core.definition.service.EnhanceUserDetailsService
Description: UserDetailsService核心类
之前一直使用Fegin进行UserDetailsService的远程调用。现在直接改为数据库访问。主要原因是: 1. 根据目前的设计,Oauth的表与系统权限相关的表是在一个库中的。因此UAA和UPMS分开是为了以后提高性能考虑,逻辑上没有必要分成两个服务。 2. UserDetailsService 和 ClientDetailsService 是Oauth核心内容,调用频繁增加一道远程调用增加消耗而已。 3. UserDetailsService 和 ClientDetailsService 是Oauth核心内容,只是UAA在使用。 4. UserDetailsService 和 ClientDetailsService 是Oauth核心内容,是各种验证权限之前必须调用的内容。 一方面:使用feign的方式调用,只能采取作为白名单的方式,安全性无法保证。 另一方面:会产生调用的循环。 因此,最终考虑把这两个服务相关的代码,抽取至UPMS API,采用UAA直接访问数据库的方式。
- 作者:
- : gengwei.zheng
- Date:
- : 2019/11/25 11:02
-
构造器概要
构造器构造器说明HerodotusUserDetailsService(cn.herodotus.engine.oauth2.core.definition.strategy.StrategyUserDetailsService strategyUserDetailsService) -
方法概要
修饰符和类型方法说明cn.herodotus.engine.oauth2.core.definition.domain.HerodotusUserloadHerodotusUserByUsername(String username) org.springframework.security.core.userdetails.UserDetailsloadUserBySocial(String source, cn.herodotus.engine.assistant.definition.domain.oauth2.AccessPrincipal accessPrincipal) org.springframework.security.core.userdetails.UserDetailsloadUserByUsername(String username)
-
构造器详细资料
-
HerodotusUserDetailsService
public HerodotusUserDetailsService(cn.herodotus.engine.oauth2.core.definition.strategy.StrategyUserDetailsService strategyUserDetailsService)
-
-
方法详细资料
-
loadUserBySocial
public org.springframework.security.core.userdetails.UserDetails loadUserBySocial(String source, cn.herodotus.engine.assistant.definition.domain.oauth2.AccessPrincipal accessPrincipal) throws org.springframework.security.core.userdetails.UsernameNotFoundException - 指定者:
loadUserBySocial在接口中cn.herodotus.engine.oauth2.core.definition.service.EnhanceUserDetailsService- 抛出:
org.springframework.security.core.userdetails.UsernameNotFoundException
-
loadHerodotusUserByUsername
public cn.herodotus.engine.oauth2.core.definition.domain.HerodotusUser loadHerodotusUserByUsername(String username) throws org.springframework.security.core.userdetails.UsernameNotFoundException - 指定者:
loadHerodotusUserByUsername在接口中cn.herodotus.engine.oauth2.core.definition.service.EnhanceUserDetailsService- 抛出:
org.springframework.security.core.userdetails.UsernameNotFoundException
-
loadUserByUsername
public org.springframework.security.core.userdetails.UserDetails loadUserByUsername(String username) throws org.springframework.security.core.userdetails.UsernameNotFoundException - 指定者:
loadUserByUsername在接口中org.springframework.security.core.userdetails.UserDetailsService- 抛出:
org.springframework.security.core.userdetails.UsernameNotFoundException
-