项目框架:spring+shiro+cas
1.使用shiro-cas包进行整合
- realm认证需改为casRealm认证
- CredentialsMatcher密码匹配器需使用自带密码匹配器,如果需要加密则自行添加相应密码匹配器,并对cas认证进行修改
- shiroFilter配置中需添加casFilter到shiroFilter的filters过滤链中,切filterMap拦截配置中需加上对所有路径的casFilter拦截
注意:使用此包认证token已变更为casToken,验证需要ticket凭证,不能通过shiro进行本地登录
2.使用cas-client包进行整合
- cas 和 shiro作为两个单独拦截器进行登录,通过访问域名的不同进行拦截登录
- 先进行cas拦截,并重写AuthenticationFilter,在doFilter里对域名进行相应判断,cas登录后在进行shiro的登录,保证subject里有shiro的凭证
注意:需重写shiro的sessionId保存到浏览器中的cookie名称,保证和cas使用的jsessionId不重复,否则在使用时会导致shiro和cas之间循环重定向
参考链接:https://blog.csdn.net/changliangwl/article/details/51504522