SpringMVC+shiro+ehCash整合

简介: 1.web.xml DelegatingFilterProxy就是一个对于servlet filter的代理,用这个类的好处主要是通过Spring容器来管理servlet filter的生命周期,还有就是如果filter中需要一些Spring容器的实例,可以通过spring直接注入,另外读取一些配置文件这些便利的操作都可以通过Spring来配置实现。

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

目录
相关文章
|
存储 JSON 前端开发
Shiro实现记住我(十)
Shiro实现记住我(十)
373 0
Shiro实现记住我(十)
|
8月前
|
安全 Java 容器
深入理解Shiro(下)
深入理解Shiro(下)
45 0
|
缓存 安全 NoSQL
Shiro学习总结(SpringBoot与Shiro的整合使用)
前言:断断续续更新了一两周才写完,写文章只要是为了总结自己所学所用,次要目的便是可以帮助他人。这里就对最近Shiro的使用与学习做个总结。
112 0
Shiro学习总结(SpringBoot与Shiro的整合使用)
|
存储 安全 Java
shiro(二)shiro详解(2)
shiro(二)shiro详解
137 0
shiro(二)shiro详解(2)
|
Java 数据安全/隐私保护
shiro(二)shiro详解(1)
shiro(二)shiro详解
187 0
shiro(二)shiro详解(1)
|
安全 前端开发 Java
SSM(三)Shiro 使用详解(下)
相比有做过企业级开发的童鞋应该都有做过权限安全之类的功能吧,最先开始我采用的是建用户表,角色表,权限表,之后在拦截器中对每一个请求进行拦截,再到数据库中进行查询看当前用户是否有该权限,这样的设计能满足大多数中小型系统的需求。不过这篇所介绍的Shiro能满足之前的所有需求,并且使用简单,安全性高,而且现在越来越的多企业都在使用Shiro,这应该是一个收入的你的技能库。
|
SQL 安全 Java
SSM(三)Shiro 使用详解(上)
相比有做过企业级开发的童鞋应该都有做过权限安全之类的功能吧,最先开始我采用的是建用户表,角色表,权限表,之后在拦截器中对每一个请求进行拦截,再到数据库中进行查询看当前用户是否有该权限,这样的设计能满足大多数中小型系统的需求。不过这篇所介绍的Shiro能满足之前的所有需求,并且使用简单,安全性高,而且现在越来越的多企业都在使用Shiro,这应该是一个收入的你的技能库。
|
安全 前端开发 Java
Shiro 使用详解(下)
相比有做过企业级开发的童鞋应该都有做过权限安全之类的功能吧,最先开始我采用的是建用户表,角色表,权限表,之后在拦截器中对每一个请求进行拦截,再到数据库中进行查询看当前用户是否有该权限,这样的设计能满足大多数中小型系统的需求。不过这篇所介绍的Shiro能满足之前的所有需求,并且使用简单,安全性高,而且现在越来越的多企业都在使用Shiro,这应该是一个收入的你的技能库。
|
存储 缓存 安全
还觉得Shiro难(上)?
 Apache Shiro 是Java 的一个安全框架。Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE 环境,也可以用在JavaEE 环境。Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与Web 集成、缓存等。
180 0
还觉得Shiro难(上)?
|
JSON 数据格式
Servlet整合Shiro(四)中
Servlet整合Shiro(四)
118 0
Servlet整合Shiro(四)中