shiro学习记录(三)

1.使用ehcache缓存权限数据

ehcache是专门缓存插件,可以缓存Java对象,提高系统性能。

l ehcache提供的jar包:

第一步:在pom.xml文件中引入ehcache的依赖

<!-- 引入ehcache的依赖 -->
        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache-core</artifactId>
            <version>2.6.6</version>
        </dependency>

第二步:在项目中提供ehcache的配置文件

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../config/ehcache.xsd">
    <diskStore path="java.io.tmpdir"/><!-- 当前操作系统的临时目录 -->
    <defaultCache
            maxElementsInMemory="10000"
            eternal="false"
            timeToIdleSeconds="120"
            timeToLiveSeconds="120"
            overflowToDisk="true"
            maxElementsOnDisk="10000000"
            diskPersistent="false"
            diskExpiryThreadIntervalSeconds="120"
            memoryStoreEvictionPolicy="LRU"
            />
</ehcache>

第三步:在spring配置文件中配置缓存管理器对象,并注入给安全管理器对象

<!-- 注册安全管理器对象 -->
    <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
        <property name="realm" ref="bosRealm"/>
        <!-- 注入缓存管理器 -->
        <property name="cacheManager" ref="cacheManager"/>
    </bean>

    <!-- 注册缓存管理器 -->
    <bean id="cacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager">
        <!-- 注入ehcache的配置文件 -->
        <property name="cacheManagerConfigFile" value="classpath:ehcache.xml"/>
    </bean>

原文地址:https://www.cnblogs.com/FanJava/p/9360351.html

时间: 2024-08-29 22:29:04

shiro学习记录(三)的相关文章

Windows API 编程学习记录&lt;三&gt;

恩,开始写API编程的第三节,其实马上要考试了,但是不把这节写完,心里总感觉不舒服啊.写完赶紧去复习啊       在前两节中,我们介绍了Windows API 编程的一些基本概念和一个最基本API函数 MessageBox的使用,在这节中,我们就来正式编写一个Windows的窗口程序. 在具体编写代码之前,我们必须先要了解一下API 编写窗口程序具体的三个基本步骤:             1. 注册窗口类:             2.创建窗口:             3.显示窗口: 恩,

Spring Boot学习记录(三)--整合Mybatis

Spring Boot学习记录(三)–整合Mybatis 标签(空格分隔): spring-boot 控制器,视图解析器前面两篇都已弄好,这一篇学习持久层框架整合. 1.数据源配置 数据源使用druid,maven引入相关依赖,包括spring-jdbc依赖,mysql依赖 1.转换问题 配置的过程要学会为什么这样配置,而不是只学会了配置.这里我们可以和以前的配置方式对比: 以前版本 <!--配置数据库连接池Druid--> <bean id="dataSource"

Apache Shiro 学习记录4

今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了....而这些地方又是蛮难的..比如3.5节Authorizer.PermissionResolver及RolePermissionResolver...可能作者觉得讲清楚要花太多的篇幅涉及太多的类吧.....但是我看起来就很不爽0.0....既然提到了就想弄明白.....不然太纠结了....所以就有了这篇

Apache Shiro 学习记录3

晚上看了教程的第三章....感觉Shiro字符串权限很好用....但是教程举的例子太少了.....而且有些地方讲的不是很清楚....所以我也自己测试了一下....记录一下测试的结果.... (1) *:view 这种类型的字符串权限可以匹配user:view,qwer:view这样的,但是不能匹配qwe:qwe:view这样的... 就是说开头的*不能匹配带冒号的字符串 (2)user:* 可以匹配user:view也可以匹配user:view:qwe 当然也可以匹配user:view:qwe:

Mybatis学习记录(三)--Mybatis配置文件详解

关于mybatis的配置文件,主要有两个,一个是SqlMapperConfig.xml文件一个是mapper.xml文件,分别对这两个进行深入全面学习. 一.SqlMapperConfig.xml文件 1.标签概况 在SqlMapperConfig.xml中主要有以下标签,其中环境集合environments和spring整合后废除不用.objectFactory和plugins不经常使用. properties(属性) settings(全局配置参数) typeAliases(类型别名) ty

Apache Shiro 学习记录5

本来这篇文章是想写从Factory加载ini配置到生成securityManager的过程的....但是貌似涉及的东西有点多...我学的又比较慢...很多类都来不及研究,我又怕等我后面的研究了前面的都忘记了...所以就先与大家分享一下我对Shiro里Ini这个类的研究. 简介 我感觉其实利用ini来配置shiro在实际应用中应该不是很多,我想大部分java应用还是web类型的,数据也应该储存在数据库里..不会简简单单的存在.ini这样的配置文件中的...但是对于学习Shiro来说,我觉得研究一下

产品需求文档的学习记录(三)

我们通过思维导图将想法进行了结构化梳理,接下来我们就需要进行方案的可行性推演,验证产品功能是否可行,预估项目要花多少人力物力,因此我们就要通过原型设计进行相关需求的论证.一开始就撰写PRD文档,我们很难对产品进行各方面的评估,也无法得知方案的可行性,并且无法直观细致的考虑产品. 原型设计是帮助我们更细致的思考,并做各项需求的评估,同时也是将自己脑海里的想法进行输出,通过原型设计后,我们就可以进行产品宣讲了.相对于之前抽象的文字描述,原型则更加清晰产品的需求,设计和技术人员或者老板也能够更加直观的

c++学习记录(三)

c++面向对象记录(二) 1.继承 继承是面向对象程序设计的一个重要概念.继承指依据另一个类来定义一个类,就好像子女继承父母的基因.运用继承的方法,我们就不需要重新编写数据成员.已有的类称为基类,新建的类称为派生类或者子类. (1)子类定义 定义一个子类,使用格式: \\class 子类名: 访问修饰符 基类名 (2)访问控制和继承 子类可以访问基类中的非私有成员,不可访问私有成员.子类继承了除下列情况外基类的所有方法: ·基类的构造方法.析构方法和拷贝构造函数 ·基类的重载运算符 ·基类的友元

UNP学习记录---三次握手和四次挥手

三次握手: 1.服务器被动接受客户的连接请求,调用socket,bind,listen来完成,并且阻塞在accpet. 2.客户调用connect发起主动打开,客户发送一个SYN 3.服务器收到SYN,回复一个ACK和SYN. 4.客户回复一个ACK确认. 四次挥手: 1.客户调用close主动关闭,发送一个FIN. 2.服务器回复一个ACK 3.服务器调用close回复一个FIN 4.客户回复一个ACK 主动发起断连的那端会在最后保持一个TIME_WIAT状态. TIME_WAIT存在的理由: