Shiro

本文详细介绍了Apache Shiro的身份验证过程,包括如何利用数据库进行账号验证,密码处理方式,Shiro的调用流程,特别是Subject.login()的使用以及AuthorizingRealm的doGetAuthenticationInfo方法。讲解了在doGetAuthenticationInfo中如何获取HttpSession存储信息,以及Shiro主过滤器的工作原理,如rememberMe功能的实现。此外,还讨论了Shiro退出登录的处理方式和授权的三种情况。建议使用Shiro-spring-1.4.0.jar,并通过设置sessionIdUrlRewritingEnabled属性来去除JSESSIONID。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Shiro 身份验证底层实现

依然靠数据库完成账号验证

Shiro处理密码验证

 

Shiro正常调用流程

Controller 页面请求和页面跳转,Subject.login(token)来调用Shiro验证

AuthorizingRealm的doGetAuthenticationInfo方法,来处理验证信息

在doGetAuthenticationInfo方法中,获取HttpSession,用于存储相关信息(比如用户的真名),之后在controller获取这个Session

       private Session getSession(){ 

              try{ 

                  Subject subject = SecurityUtils.getSubject(); 

&nbs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值