SpringMVC+shiro+ehCash整合

1.web.xml
DelegatingFilterProxy就是一个对于servlet filter的代理,用这个类的好处主要是通过Spring容器来管理servlet filter的生命周期,还有就是如果filter中需要一些Spring容器的实例,可以通过spring直接注入,另外读取一些配置文件这些便利的操作都可以通过Spring来配置实现。
在这里的作用是自动到Spring容器查找名字为shiroFilter(filter-name)的bean并把所有Filter的操作委托给它
image
2.beans
image
所有spring的请求都讲通过shiroFilter来处理。处理类是org.apache.shiro.spring.web.ShiroFilterFactoryBean其中一个重要的属性是securityManager
image
the SecurityManager is the heart of Shiro’s architecture,SecurityManager是Shiro体系的核心,登录,授权,session管理功能,缓存功能都是由SecurityManager来管理,相当于一个容器。
image
image

Ream主要用来处理登录以及授权,在登录的时候,通过subject的login方法来触发。这里也使用了验证码同样的缓存功能。这里使用的是构造器注入,构造器注入出了注入缓存参数外也注入了
image

image

数据库存储的是密文,登录的时候需要对登录密码进行加密,加密方式配置如下,加密后跟数据库存储的密码进行比对,如果错误多次半小时内不让登录,用ehcash缓存。
image

注意到类里面有一个afterPropertiesSet方法,这个方法的作用是在web应用启动时,IOC会创建RetryLimitCredentialsMatcher这个bean,这个bean创建完后,需要将ehcash被这个bean使用,于是将某个ehcash空间的引用变量赋值给这个bean里的一个map简直对,从而使得对这个键值对的修改都会对ehcash维护的map产生影响。因为他们实际上是同一个东西
image

shiro的相当多的数据都是存储在ehcash缓存里面的,shiro的缓存是通过cache Manager 来实现的,cache manager的作用是吧缓存设置为ehcash。w
image

shiro提供remenber me功能。用户登录后,服务端为用户生成一个Token,并放入客户端Cookie中。下次用户登录,服务端验证Cookie中的Token并自动登录
image

shiro提供会话的功能,提供session的curd,并且这里是用ehcashe来缓存会话信息
image
image
image

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值