记一次SHIRO的session问题
嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿
前言
根据公司市场需求,需要搭建一个小型项目满足业务,由于是小项目,所以采用前后台合并为一个项目结构,用一套SHIRO满足前后台登录验证等功能实现。
问题点
使用SHIRO满足前后台共用一套登录验证会导致同一浏览器登录前后台项目,前台sessionId和后台sessionId会是同一个,进而导致区分不了前后台用户
处理办法
代码如下(示例):
application配置文件
spring:
application:
name: teacher-admin(后台)
spring:
application:
name: teacher-user(前台)
ShiroConfig配置类
/**
* redis里shiro sessio key 前缀(前台)
*/
public static final String SHIRO_SESSION_PREFIX_FOR_FONT = "shiro:user:";
/**
* redis里shiro sessio key 前缀(后台)
*/
public static final String SHIRO_SESSION_PREFIX_FOR_ADMIN = "shiro:admin:";
@Value("${spring.application.name}")
private String applicationName;
/**