springboot整合shiro地址栏JSESSIONID问题

springboot整合shiro地址栏JSESSIONID问题

 第二次情形好了,就没有了sessionID

springboot整合shiro地址栏JSESSIONID问题

 1、client向server发送请求http://localhost:8081

               2、server端经由shiro进行内部内部URL重定向至http://localhost:8081/login

               3、server收到http://localhost:8081/login请求后,发现请求头中没有cookie(因为这次请求是server内部重定向的),那么server就认为client端禁用了cookie,并且为这次会话产生唯一标示即SESSIONID,并将SESSIONID追加到http://localhost:8081/login,作为response响应给client。
————————————————
 

 4、client收到server的响应后,以http://localhost:8081/login;JSESSIONID=XXX 为URL进行请求重定向(上图中302是重定向的状态码),最后展示出登陆页

5、提交登陆信息后,server从请求信息中发现了cookie(因为这次请求是client发出的而非server内部重定向),会认为client没有禁用cookie,就不会进行URL重定向,而是将SESSIONID放入cookie之中,所以之后的请求URL就无需追加URL,如果此时手动删除client端的cookie,重新请求http://localhost:8081,就会发现SESSIONID再一次被追加到了URL后面。
————————————————
 

上一篇:【问题解决】Safari不能保存session的处理方法


下一篇:Java去掉 URL 中的 jsessionid