Shiro 权限框架 登录认证成功之后,又返回到登录界面 问题排查始末

表一表这个事儿。
先说个小插曲。
这是公司内部的一个项目,要新增一个需求,就是提供一个对外的接口。

6月30号的时候,拉下来项目代码运行。出现了点击Tomcat无法启动服务没反应的问题,夜里在公司待到11点半,在谷歌上找到原因,恰逢党百年华诞 ,我等着给党道一声生日祝福。
出现问题的原因是 Groovy 插件的问题,通过将插件中的Groovy 取消勾选问题得到解决,该问题已经记录到帖子里。

Tomcat 无法启动,启动按钮由绿变灰,日志控制台也无法自动弹出,啥啥没反应的问题就这么神奇的解决了。

原本以为项目可以跑起来了。
启动Tomcat,运行项目,进入登录界面,登录接口正常,登录成功后,啪,很快哈,出现了这个界面,见图如下:


a1.png

奇怪的是同一个项目在别的同事拉取下来,就不存在这个问题,可以同一个git库,同一个分支,同一套代码,这找谁说理去。

上天难为你,是在考验你。

网上各种找资料查帖子,提到最多的是POST提交数据类型不匹配之云云..
后来想想会不会是Shiro 权限控制的问题,索性就将 spring-shiro.xml中的shiroFilter注释掉,哎呦喂,居然可以了。想不到真是这儿问题。但是问题是同事运行没问题啊。
接着排查通过关键词 “shiro SESSIONID 400”在谷歌搜索
找到以下相关的帖子,提到是Shiro 1.6.0 版本会有这个问题:
https://xiepl1997.github.io/2021/02/18/shirosessionerror.html 解决Shiro第一次重定向url带有jsessionid导致400错误

https://blog.csdn.net/fly_leopard/article/details/117326169 Shiro (http:/xxxxx/;JSESSIONID=xxxx) InvalidRequestFilter 400无法跳转到登录页问题

https://www.jianshu.com/p/ae3bd4d71ca2 Springboot+Shiro 发生的问题

其中多数帖子中提供一种思路,通过添加配置将JSESSIONID= 自动截取掉,结果是虽然不报
400的错误了,但是登录成功后依旧无法正常跳转到主页

那就换个思路。

写一个TestController 登录成功之后跳转 /test
shiro 版本设置为 1.3.2 版本 登录成功之后跳转 /test 正常 跳转/admin/index
弹回 http://localhost:8080/login;JSESSIONID=xxxxx
但是不会出现 400 bad request
shiro 版本设置为 1.6.0 版本 登录成功之后跳转 /test 正常 跳转/admin/index
弹回 http://localhost:8080/login;JSESSIONID=xxxxx
但是会出现 400 bad request

结论:1.3.2 版本也无法跳转到 /admin/index 说明 400 bad request 只是1.6.0的bug
无法跳转/admin/index 是确实存在,为啥会存在这个可能,可能就是权限拦截配置的问题
接下来应该检查shiro认证配置和权限配置

配置看来一遍又一遍,没发现啥问题啊

7月4号上午,边玩边排查,断断续续排查了3天,是真的累了。

无果.....期间看了一个我最新欢的电影博主关于 《长征》电影的解说,解说的是真的好。

苦不苦想想长征两万五,累不累想想革命老前辈。

最繁杂的问题就用最质朴的语言表述。

灵光一闪亮瞎眼。

这个项目在线上环境是https ,在本地运行是http ,会不会是这儿的问题?

一语成谶!!

20210704145850.jpg

cookie-secure的值为true表示"指示浏览器仅通过 HTTPS 连接传回 cookie。这可以确保 cookie ID 是安全的,且仅用于使用 HTTPS 的网站。如果启用此功能,则 HTTP 上的会话 Cookie 将不再起作用。

排查了三天的问题就这么柳暗花明。今天是2021-7-4 15:04:59,周日。

聚时一团火,散时满天星。

打完收工

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,137评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,824评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,465评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,131评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,140评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,895评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,535评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,435评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,952评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,081评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,210评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,896评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,552评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,089评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,198评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,531评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,209评论 2 357

推荐阅读更多精彩内容