shiro遇到问题

一 今天遇到了一个两个shiro特别奇葩的问题 所以总结下(springboot 2 +jdk8   环境):

shiro登录成功或者跳转到登录页面的时候   url会携带JSESSIONID 中间是以“;”隔开  这样shiro单独用的时候没问题

但是 和 一些别的技术同时下使用的时候就会有问题了如  Security       会报出url非法 然后被禁止(这个具体错误  后期总结我贴出来)很烦人,找了好多博客 常用的两种如下

 

http.sessionManagement().enableSessionUrlRewriting(true);
server.servlet.session.tracking-modes=cookie

但是上面两种对我来说都没用。最后实在没法子了  重写shiro部分源码(解决这个问题  但是比较麻烦) 如这篇博客

https://blog.csdn.net/mr_yangzc/article/details/78773053(继承ShiroHttpServletResponse  重写方法 注视掉拼接 JSESSIONID 这块代码   但是这个有点问题  getSecurityManager  的时候是null  这个自己处理下  判断是null的话 把shiro自定义实现的DefaultSecurityManager注入进去就可以解决 )

 

第二种方法 

只想说一句 mmp!

 

 

 

第二个问题  shiro 前后端分离  未登录或者登录失效 重定向问题      

好多博客都是说重定向到一个接口  返回给前端 前端就能处理了  然而我们的前端说我请求的是a接口   我只能监控到a接口的返回  你重定向到b接口在返回  我监控不到   所以我就得想法子解决(前端线上登录页面访问不到  所以不能直接在后台重定向到页面)

 

解决办法 :

重写shiro部分源码 如下

http://heeexy.com/2017/10/22/build-springboot-shiro-vue/(参靠部分源码)

 

 

Shiro异常java.lang.IllegalArgumentException: Odd number of characters的解决方案

这个是个小异常  存储到数据库的密码必须加密  不然shiro报这个错误   

 

 

 

哎技术不到家,真的难受。。。。。。。。。。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章