当前位置:首页 > 服务端 > Shiro 登录、退出、校验是否登录涉及到的Session和Cookie

Shiro 登录、退出、校验是否登录涉及到的Session和Cookie

2022年09月16日 22:14:13服务端6

前提

我们的使用的是DefaultWebSessionManager而不是ServletContainerSessionManager。这就意味着前者的session为Shiro的,后者的session为Tomcat的。

登录

  DefaultWebSessionManager调用start()方法(在AbstractNativeSessionManager中)创建Session(SimpleSession),创建过程中会将Session放到介质(Redis)中,再调用onStart()方法将sessionId放入到浏览器的Cookie中。

  我们已经拿到Session(SimpleSession)了可以将用户相关信息放到其中:session.setAttribute("userName", userName);,这个过程是放到了SimpleSession的一个Map属性中,同时更新介质中的SimpleSession。

退出

  DefaultWebSessionManager调用stop(SessionKey key)方法(在AbstractNativeSessionManager中),SimpleSession设置停止时间戳,再调用onStop()方法设置最后访问时间戳并更新介质中的session,清除浏览器中关于session的Cookie。

校验是否登录

  我们可以通过Session是否存在并且session中的用户信息是否存在来判断或者是Cookie是否存在或者是Subject.isAuthenticated()是否为false,有其一不成立就执行退出操作。

作者:geomon
来源链接:https://blog.csdn.net/qq_39507276/article/details/88363514

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/42164.html

标签: CookieSession
分享给朋友:

“Shiro 登录、退出、校验是否登录涉及到的Session和Cookie” 的相关文章

JSP中response,session,cookie,application的作用及区别

JSP中response,session,cookie,application的作用及区别

目录 1.response :响应对象 2.session(服务端) 3.使用Cookie实现 记住用户名 功能 4.session :会话 5...

Error creating bean with name ‘sqlSessionFactory’ defined in class path resource

Error creating bean with name ‘sqlSessionFactory’ defined in class path resource

原文链接:这里 0.报错描述 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in...

Spring和Mybatis整合过程中遇到的一个找不到sqlSessionFactory或sqlSessionTemplate的异常

Spring和Mybatis整合过程中遇到的一个找不到sqlSessionFactory或sqlSessionTemplate的异常

先看启动web项目时IDEA控制台抛出的异常(红色部分): D:\tomcat-kafka-8080\bin\catalina.bat run [2017-04-16 03:14:47,718] Artifact Gradle : com.xbs:imcc : imcc...

JavaEE 要懂的小事:三、图解Session(会话)

JavaEE 要懂的小事:三、图解Session(会话)

Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆  &...

萨克斯,音符的悠扬(Session管理)

萨克斯,音符的悠扬(Session管理)

一.前言   小朽不才,最近喜欢上了萨克斯,一年计划[传送门]中的实行。就伴随着一首萨克斯,整理了下Session管理和Session四种技术。   保存状态:        #网址重写(URL rewriting)        #隐藏域...

cookie窃取和session劫持

cookie窃取和session劫持

【转】cookie窃取和session劫持 Updates 2014-08-17 感谢@搞前端的crosser的提醒,加入了HTTP Response Splitting的内容。 此篇文章的Presentation戳这里。 一、cook...

session、cookie与“记住我的登录状态”的功能的实现

Cookie的机制 Cookie是浏览器(User Agent)访问一些网站后,这些网站存放在客户端的一组数据,用于使网站等跟踪用户,实现用户自定义功能。 Cookie的Domain和Path属性标识了这个Cookie是哪一个网站发送给浏览器的;Cookie的Expires...

浅谈Cookie和Session的初步理解

浅谈Cookie和Session的初步理解 前言        HTTP是无状态的协议,客户每次读取web页面时,服务器都打开新的连接,而且服务器也不会自动维护客户的上下文...

Cookie、Session和Token认证

Cookie、Session和Token认证

目录 Cookie Session认证机制 Session的一些安全配置 Token认证机制 Token预防CSRF Session认证和Token认证的区别 前言:HTTP是一种无状态的协议,为了分辨链接是谁发起的,需...

Servlet之cookie和session简介及其作用

Servlet之cookie和session简介及其作用

一、cookie和session简介 1.浏览器和服务器是多对一的关系 2.业务:登录时记录账号,后续的页面上显示此账号 3.使用如下对象存储账号都不行 request:多个请求之间共用账号,不能用request c...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。