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報這個錯誤   

 

 

 

哎技術不到家,真的難受。。。。。。。。。。。。。。

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