coder1v5 最近的时间轴更新
coder1v5

coder1v5

V2EX 第 505509 号会员,加入于 2020-08-26 19:10:19 +08:00
coder1v5 最近回复了
2021-01-23 21:28:45 +08:00
回复了 totoro52 创建的主题 Java SpringSecurity 前台和后台用户不同表问题
jwt 中将用户关键信息 userid, userType 加入进去,写一个 jwtProvider,在 jwtProvider 中解析出来 token,token 本身抽象出来也是认证信息(用户名和密码),这个 Provider 当做登录认证 Provider 去写。Filter 做配置转发给 Provider 。然后根据 token 中解析出来的 userId,userType, 调用不同的 service 去获取对应的权限.然后放入 SecurityContext 中就可以了
if(Strings.equals(userType,后台用户){
//调用后台用户的服务类,添加用户信息,权限信息,放入 security 上下文中
SecurityContextHolder.getContext().setAuthentication(authToken);

}else{
//调用前台用户的服务类,添加用户信息,权限信息,放入 security 上下文中
SecurityContextHolder.getContext().setAuthentication(authToken);
}


spring security 对于这种场景提供了足够的支持,别说两种用户类型了,多少种登录用户,及多种认证方式都可以轻松扩展。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2715 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 12:23 · PVG 20:23 · LAX 04:23 · JFK 07:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.