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

学海无涯,旅“途”漫漫,“途”中小记,如有错误,敬请指出,在此拜谢!

一、前情提要

最近在研究Shiro,和朋友讨论的时候,听说在做微信小程序的时候,Shiro登录验证不好使。便自己验证了一下,确实不好用。去百度查询了半天,并没有找出解决方案,不得不吐槽百度,两三页的搜索内容都是一个模子出来的。研究了好几天才研究出来。

二、分析

查了下源码,结合一些大牛的分析。Shiro的登陆验证方式是,登陆的时候,后台会自动的向浏览器的Cookies里面放置一些参数。示例如下。
Shiro+SpringBoot做微信小程序登录的坑_第1张图片
而对于微信小程序,正常使用的时候,不像浏览器一样,是使用Cookies的。所以小程序无法将Cookies再返回给后台,导致后台获取不到参数,认为未登录。所以在微信小程序中获取到这些Cookies,再从header中传过去即可。此处注意,登录所需要的参数为"JSESSIONID"。如果你还需要其他参数,那也一并发过去即可(比如我的Shiro增加了记住我的功能,还需要传rememberMe。当然你可以最暴力的方式,把所有Coolies全传过去)。

你可能感兴趣的:(心得感悟)