shiro学习记录

Posted fanjava

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

 

以上是关于shiro学习记录的主要内容,如果未能解决你的问题,请参考以下文章

shiro学习记录

shiro学习笔记_0100_shiro简介

ElasticSearch学习问题记录——Invalid shift value in prefixCoded bytes (is encoded value really an INT?)(代码片段

如何记录 Shiro 输出?

python小白学习记录 多线程爬取ts片段

JAVA代码审计之Shiro反序列化漏洞分析