老师,您好:
是这样,我现有公司的系统需要改造,这个系统涉及到3个不同角色的端,每个端都有自己的用户数据库,由于历史原因,各自端的用户登录都是走的各自系统。由于业务发展,现在的模式已经限制了业务发展,最近想把登录系统统一化,但是是一步步实施的,各自系统的用户库保持不变,使用spring security oauth登录来实现统一用户登录和授权。然后现在我面临一个问题就是怎么在调用 UserDetailsService.loadUserByUsername 方法的时候知道这个用户来自哪个ClientId,根据此我好去不同的数据库读取用户信息。我调试了一下发现UserDetailsService.loadUserByUsername 是在 ClientDetailsService.loadClientByClientId 前面执行的。【不过我发现session中保存了sessionAttr:SPRING_SECURITY_SAVED_REQUEST,但是我调试的时候并不能获取到,在session中也没有此key。很奇怪,我是把sesion存储到redis里而看到此key的。】