Shiro+SpringBoot做微信小程序登錄的坑

學海無涯,旅“途”漫漫,“途”中小記,如有錯誤,敬請指出,在此拜謝!

一、前情提要

最近在研究Shiro,和朋友討論的時候,聽說在做微信小程序的時候,Shiro登錄驗證不好使。便自己驗證了一下,確實不好用。去百度查詢了半天,並沒有找出解決方案,不得不吐槽百度,兩三頁的搜索內容都是一個模子出來的。研究了好幾天才研究出來。

二、分析

查了下源碼,結合一些大牛的分析。Shiro的登陸驗證方式是,登陸的時候,後臺會自動的向瀏覽器的Cookies裏面放置一些參數。示例如下。
在這裏插入圖片描述
而對於微信小程序,正常使用的時候,不像瀏覽器一樣,是使用Cookies的。所以小程序無法將Cookies再返回給後臺,導致後臺獲取不到參數,認爲未登錄。所以在微信小程序中獲取到這些Cookies,再從header中傳過去即可。此處注意,登錄所需要的參數爲"JSESSIONID"。如果你還需要其他參數,那也一併發過去即可(比如我的Shiro增加了記住我的功能,還需要傳rememberMe。當然你可以最暴力的方式,把所有Coolies全傳過去)。

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