à悟空学院:https://t.cn/Rg3fKJD
学院中有Spring Boot相关的课程!点击「阅读原文」进行查看!
SpringBoot视频:http://t.cn/A6ZagYTi
Spring Cloud视频:http://t.cn/A6ZagxSR
SpringBoot Shiro视频:http://t.cn/A6Zag7IV
SpringBoot交流平台:https://t.cn/R3QDhU0
SpringData和JPA视频:http://t.cn/A6Zad1OH
SpringSecurity5.0视频:http://t.cn/A6ZadMBe
Sharding-JDBC分库分表实战:http://t.cn/A6ZarrqS
分布式事务解决方案「手写代码」:http://t.cn/A6ZaBnIr
在学习此小节之前您可能还需要学习:
(39.1) Spring Boot Shiro权限管理【从零开始学Spring Boot】
http://412887952-qq-com.iteye.com/blog/2299732
(39.2). Spring Boot Shiro权限管理【从零开始学Spring Boot】
http://412887952-qq-com.iteye.com/blog/2299777
相对于上一小节这个就比较简单了。
主要分这么几个步骤:在pom.xml中加入缓存依赖;注入缓存;
(a) 在pom.xml文件中加入依赖:
<!-- shiro ehcache -->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId>
<version>1.2.2</version>
</dependency>
<!--
包含支持UI模版(Velocity,FreeMarker,JasperReports),
邮件服务,
脚本服务(JRuby),
缓存Cache(EHCache),
任务计划Scheduling(uartz)。
-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
(b)注入缓存
在com.kfit.config.shiro.ShiroConfiguration中加入如下方法:
/**
* shiro缓存管理器;
* 需要注入对应的其它的实体类中:
* 1、安全管理器:securityManager
* 可见securityManager是整个shiro的核心;
* @return
*/
@Bean
public EhCacheManager ehCacheManager(){
System.out.println("ShiroConfiguration.getEhCacheManager()");
EhCacheManager cacheManager = new EhCacheManager();
cacheManager.setCacheManagerConfigFile("classpath:config/ehcache-shiro.xml");
returncacheManager;
}
将缓存对象注入到SecurityManager中:
@Bean
public SecurityManager securityManager(){
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
//设置realm.
securityManager.setRealm(myShiroRealm());
//注入缓存管理器;
securityManager.setCacheManager(ehCacheManager());//这个如果执行多次,也是同样的一个对象;
returnsecurityManager;
}
(c)添加缓存配置文件:
在src/main/resouces/config添加ehcache-shiro.xml配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<ehcache name="es">
<diskStore path="java.io.tmpdir"/>
<!--
name:缓存名称。
maxElementsInMemory:缓存最大数目
maxElementsOnDisk:硬盘最大缓存个数。
eternal:对象是否永久有效,一但设置了,timeout将不起作用。
overflowToDisk:是否保存到磁盘,当系统当机时
timeToIdleSeconds:设置对象在失效前的允许闲置时间(单位:秒)。仅当eternal=false对象不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。
timeToLiveSeconds:设置对象在失效前允许存活时间(单位:秒)。最大时间介于创建时间和失效时间之间。仅当eternal=false对象不是永久有效时使用,默认是0.,也就是对象存活时间无穷大。
diskPersistent:是否缓存虚拟机重启期数据 Whether the disk store persists between restarts of the Virtual Machine. The default value is false.
diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。
diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒。
memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用)。
clearOnFlush:内存数量最大时是否清除。
memoryStoreEvictionPolicy:
Ehcache的三种清空策略;
FIFO,first in first out,这个是大家最熟的,先进先出。
LFU, Less Frequently Used,就是上面例子中使用的策略,直白一点就是讲一直以来最少被使用的。如上面所讲,缓存的元素有一个hit属性,hit值最小的将会被清出缓存。
LRU,Least Recently Used,最近最少使用的,缓存的元素有一个时间戳,当缓存容量满了,而又需要腾出地方来缓存新的元素的时候,那么现有缓存元素中时间戳离当前时间最远的元素将被清出缓存。
-->
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="false"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
/>
<!-- 登录记录缓存锁定10分钟 -->
<cache name="passwordRetryCache"
maxEntriesLocalHeap="2000"
eternal="false"
timeToIdleSeconds="3600"
timeToLiveSeconds="0"
overflowToDisk="false"
statistics="true">
</cache>
</ehcache>
在配置文件上已经有很详细的解释了,所以这里就过多介绍ehcache的配置了。
运行程序访问:http://127.0.0.1:8080/userInfo/userAdd
查看控制台的打印信息:
权限配置-->MyShiroRealm.doGetAuthorizationInfo()
这个信息就只打印一次了,说明我们的缓存生效了。
【视频&交流平台】
à悟空学院:https://t.cn/Rg3fKJD
学院中有Spring Boot相关的课程!点击「阅读原文」进行查看!
SpringBoot视频:http://t.cn/A6ZagYTi
Spring Cloud视频:http://t.cn/A6ZagxSR
SpringBoot Shiro视频:http://t.cn/A6Zag7IV
SpringBoot交流平台:https://t.cn/R3QDhU0
SpringData和JPA视频:http://t.cn/A6Zad1OH
SpringSecurity5.0视频:http://t.cn/A6ZadMBe
Sharding-JDBC分库分表实战:http://t.cn/A6ZarrqS
分布式事务解决方案「手写代码」:http://t.cn/A6ZaBnIr
http://412887952-qq-com.iteye.com/blog/2321532
======================================
Spring Boot Shiro视频实战篇【已更新】
======================================
适合人群
有Spring Boot基础的人群。
使用技术
(1)spring boot(整合框架)
(2)spring mvc
(3)spring data jpa(持久化操作)
(4)shiro(安全框架)
(5)thymeleaf(模板引擎)
(6)ehcache(缓存管理)
(7)mysql(数据库)
(8)js/css/img(静态资源使用)
(9)kaptcha(验证码库)
课程目录
1. Spring Boot Shiro介绍
2. Spring Boot 搭建无Shiro的框架
3. Spring Boot Shiro拦截
4. Spring Boot Shiro身份认证准备工作
5. Spring Boot Shiro身份认证
6. Spring Boot Shiro权限控制
7. Spring Boot Shiro缓存
8. Spring Boot Shiro记住密码
9. Spring Boot Shiro登录成功之后下载favicon.ico
10. Spring Boot 在thymeleaf使用shiro标签
11. Spring Boot Shiro密码加密算法
12.Spring Boot Shiro使用JS-CSS-IMG
13. Spring Boot Shiro限制登录尝试次数
14.Spring Boot Shiro 验证码
相关推荐
unity 最屌的外设插件,支持多种平台及手柄,支持多种手柄的震动 陀螺仪(switch pro不支持震动,陀螺仪)
spring高手之路21 Spring API 网关 073 某D课堂 - 新版本微服务SpringCloud+Docker教程 video code.zip 35.5MB 9-05 微服务相关项目改造配置中心~1.mp4 353.6MB 9-04 高级篇幅消息总线整合配置中心架构流程图~1...
同城聚合平台39.3全开源版分类信息公众号应用 介绍https://s.w7.cc/module-3008.html
《Unity Rewired:游戏输入管理框架的深度解析》 Unity Rewired是一款专为Unity引擎设计的游戏输入管理框架,它极大地扩展了Unity内置的输入系统,提供了更强大、更灵活的控制选项,使得开发者能够更高效地管理和...
spring高手之路21 Spring API 网关 073 某D课堂 - 新版本微服务SpringCloud+Docker教程 video code.zip 35.5MB 9-05 微服务相关项目改造配置中心~1.mp4 353.6MB 9-04 高级篇幅消息总线整合配置中心架构流程图~1...
### BT39.3激活方法详解 #### 一、BarTender9.3SR2 (2725)概述及版本介绍 BarTender是一款功能强大的条形码、标签设计和打印软件,广泛应用于物流、制造、医疗等多个行业。根据用户需求的不同,BarTender提供了四...
《PyPI上的mypy-boto3-workmailmessageflow-1.10.39.3.tar.gz:Python库解析与应用》 PyPI(Python Package Index)是Python开发者的重要资源库,它为全球的Python程序员提供了无数的第三方库,极大地丰富了Python...
《PyPI官网下载:mypy-boto3-resource-groups-1.10.39.3.tar.gz详解》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了大量预封装的Python库,便于开发者快速引入所需功能,提高开发效率。在本...
《PyPI官网下载:mypy-boto3-robomaker-1.10.39.3.tar.gz——深入理解Python库的构建与使用》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了无数开源的Python库供全球用户下载和使用。在PyPI...
通过`boto3`,开发者可以轻松地在Python应用中实现对AWS资源的管理、数据存储和计算任务。 `guardduty`是AWS提供的一项威胁检测服务,它持续监控云环境中的恶意活动和异常行为。GuardDuty能自动分析VPC流量、DNS...
39.3 可用性和IT服务持续性管理:关注系统的可用性,以及在灾难或故障时保证服务连续性的措施。 39.4 IT服务的预算及财务管理:涵盖了成本控制、预算编制和财务审计,以确保服务的经济性和效率。 39.5 容量管理:...
EFS是Amazon推出的一种完全托管的网络文件系统,允许在多个EC2实例间共享文件存储,无需管理硬件或软件,提供了弹性、高可用性和持久性的存储解决方案。Boto3库中的EFS模块则提供了对EFS服务的全面API支持,包括创建...
深信服在2014年占据了安全内容管理硬件市场39.3%的份额,连续八年保持市场第一。这得益于公司在技术创新上的持续投入,例如在2005年首次定义并推出了上网行为管理产品,随后不断优化和扩展其功能。深信服的产品拥有...
1. 上网行为管理市场:IDC发布的报告指出,深信服上网行为管理产品在2014年占据了39.3%的市场份额,领先于其他竞争者,成为市场占有率最高的安全内容管理硬件产品。这一领域的产品通过精细化的上网管理,有效提升了...
从“Rewired 1.1.39.3.unitypackage”文件中,你可以导入包含所有所需资源和脚本的包。一旦导入成功,你可以在 Unity 编辑器中看到 Rewired 相关的组件和设置选项。通过创建“Input Controller”,你可以开始定义和...
从标签《umap journal umap mcm 美赛》可以确认,这份文件关联的主题包括UMAP期刊、数学建模竞赛(MCM),以及美赛(MCM的中文简称)。这可以引导我们了解这本期刊的主要内容与数学建模紧密相关,并且涉及到国际竞赛...
本份中金公司关于爱柯迪(600933)的研究报告全面分析了爱柯迪作为铝质汽车中小零部件优势企业的发展前景和投资价值。报告的主要内容可从以下几个知识点进行归纳: 1. 铝质汽车零部件市场空间巨大 报告指出,随着...
为您提供Yii Framework 开发框架下载,Yii是一个高性能的PHP5的...通过一个简单的命令行工具 yiic 可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以快速完成应用程序的开发。
资源分类:Python库 所属语言:Python 资源全名:mypy-boto3-es-1.10.39.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059