Shiro流程梳理

本文详细梳理了Apache Shiro框架的工作流程,重点介绍了如何通过过滤器拦截所有请求,以及用户登录认证和授权的过程。在过滤器部分,强调了DelegatingFilterProxy的作用和Spring容器的配置。在认证阶段,解释了doGetAuthenticationInfo方法用于验证用户名的正确性,而密码验证则由上层完成。授权环节中,通过doGetAuthorizationInfo获取用户角色和权限,并设置到SimpleAuthorizationInfo,进而控制对资源的访问权限。
摘要由CSDN通过智能技术生成

一、shiro通过过滤器来拦截所有请求

这个过滤器是spring的委托过滤器,真正的过滤器是在spring容器中配置的shiro类。因为org.springframework.web.filter.DelegatingFilterProxy这个过滤器是也是spring的,也是在spring容器中,所以spring可以把spring容器中的shiro类装配到这个类的属性上,spring默认是使用中的名字作为id去spring容器中bean。所以spring容器中配置这个由shiro类的时候bean的id也必须和中的一样都是shiroFilter

WEB.中的配置:
在这里插入图片描述Spring配置文件applicationContext.xml中的配置:
在这里插入图片描述

二、用户登录认证

在这里插入图片描述
所谓的用户登陆认证就是在realm中的doGetAuthenticationInfo()方法,根据usernamepasswordtoken 中的username去数据库里查询用户,如果查不到返回null就可以自己编码抛个异常出来如AuthenticationException 。如果查到了,就将用户名、从数据库查到的密码、盐等信息设置到SimpleAuthenticationInfo返回。

new SimpleAuthenticationInfo(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值