shiro-session-ehcache配置

2023-11-18

首先准备好jar包

shiro的主要四个:

ehcache:

shiro.xml 配置

首先securityManager配置

sessionManager配置:

<bean id="sessionManager" class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager">
    <property name="globalSessionTimeout" value="1800000"/><!-- 单位MS-->
    <property name="deleteInvalidSessions" value="true"/>
    <property name="sessionValidationSchedulerEnabled" value="true"/>
    <property name="sessionValidationScheduler" ref="sessionValidationScheduler"/>
    <property name="sessionDAO" ref="sessionDAO"/>
    <property name="sessionIdCookieEnabled" value="true"/>
    <property name="sessionIdCookie" ref="sessionIdCookie"/>
     <property name ="sessionListeners">   //session监听器
            <list>   
               <ref bean="shiroSessionListener"/>  
            </list>     
         </property>
</bean>

sessionDAO配置:

<bean id="sessionDAO" class="org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO">
    <property name="activeSessionsCacheName" value="activeSessionCache"/>
    <property name="cacheManager" ref="cacheManager"/>
    <property name="sessionIdGenerator" ref="sessionIdGenerator"/>
</bean>

cookie模板设置:

<!-- 会话Cookie模板 -->
<bean id="sessionIdCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
    <constructor-arg name="name"  value="WEBSID" />
    <property name="httpOnly" value="true"/>
    <property name="maxAge" value="1800"/><!-- 单位S-->
</bean>

然后cacheManager(缓存器)配置:

ehcache-shiro.xml配置:

<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
   xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">
<diskStore path="java.io.tmpdir/ehcache"/>
    <defaultCache maxElementsInMemory="10000"  
      overflowToDisk="false"  
      eternal="false"  
      diskPersistent="false"  
      timeToLiveSeconds="0"  
      timeToIdleSeconds="0" /> 
<cache name="authorizationCache"  
        maxElementsInMemory="2000"  
           eternal="false" 
           overflowToDisk="true" 
           timeToIdleSeconds="180"  
           timeToLiveSeconds="180"  
           diskPersistent="true"
            diskExpiryThreadIntervalSeconds="3600"/>
    <cache name="authenticationCache"  
           maxElementsInMemory="2000"  
           eternal="false" 
           overflowToDisk="true" 
           timeToIdleSeconds="180"  
           timeToLiveSeconds="180" 
           diskExpiryThreadIntervalSeconds="3600"/> 
    <cache name="activeSessionCache"  
           maxElementsInMemory="2000"
  overflowToDisk="true"
  eternal="true"
  timeToLiveSeconds="180"
  timeToIdleSeconds="180"
  diskExpiryThreadIntervalSeconds="1800"/>
</ehcache>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shiro-session-ehcache配置 的相关文章

  • 使用 ehcache 的集群 Hibernate 缓存:非严格与严格读写

    两者之间真正的区别是什么nonstrict read write and read write 我可以阅读 ehcache 和 Hibernate 文档 但据我所知 他们只说 如果进行更新 读写会更好 我觉得不太令人满意 我可能对长期缓存集
  • 获取 ASP.NET 中所有活动会话的列表

    我知道使用以下代码行登录了哪个用户 Session loggedInUserId userId 我的问题是如何知道哪些用户登录了 以便其他用户可以看到当前登录的用户 换句话说 我可以获得所有活动的 loggedInUserId 会话吗 我没
  • 函数 session_start() 出现问题(运行缓​​慢)

    我有一个问题session start 在主服务器上 当我第一次加载页面时 完成请求只需要不到 1 秒的时间 如果我等待大约 12 15 秒 然后重新加载页面 加载时间将是相同的 但是 当我尝试在初始加载后 3 或 5 秒后刷新页面时 服务
  • Symfony2:检查会话是否存在

    有没有办法检查会话是否存在 我尝试过这种方法 但它总是给我一个 太棒了 回答 session this gt getRequest gt hasPreviousSession if session return new Response B
  • 使用 3.0 SDK 在 FB 墙上发布

    各位程序员大家好 我在使用新的 Facebook SDK 时遇到了困难 场景是 我使用片段 所以我按照以下步骤操作 为什么 Android Facebook 界面不支持 Fragments https stackoverflow com q
  • Symfony 3 跨子域共享 cookie?

    我想跨任何子域共享 cookie 这应该可以让我保留会话 我使用的是 Symfony 框架 3 0 版 我读到您应该设置以下内容 app config config yml session cookie domain localhost 我
  • 在sqlalchemy中跨不同模块访问相同的db.session

    我对 sqlalchemy 非常陌生 正在尝试找出如何让事情变得更干净和连接 我创建了一个 model base py 文档 在其中创建了一个会话并在表中建立了所有实体 以及关系等 我想创建另一个模块 在其中对 base py 中的实体 表
  • 定制/扩展Spring对shiro的@Async支持

    我正在使用Spring的 EnableAsync异步执行方法的功能 为了安全起见 我使用 Apache Shiro 在异步执行的代码中 我需要访问附加到触发异步调用的线程的 Shiro 主题 Shiro 支持通过将主题与主题相关联来在不同线
  • :expire_after 时间结束后,Rails 会话会发生什么?

    会话会变为零吗 更改仅在下一次请求时生效吗 我想我现在只问了三个问题 您可以尝试使用类似的设置进行探索 AppName Application config session store cookie store key session ke
  • 创建持久的 php 登录 cookie 会话

    我试图让我的登录会话持续更长时间 这样人们就不会过早退出我的网站 例如 制作一篇博客文章并在提交时丢失 因为 php 的 cookie 过期了 理想情况下 我想给他们一个 2 小时的会话 他们不会注销 每次加载页面时都会刷新 下面的代码片段
  • Symfony2 - 访问被拒绝(用户未经过完全身份验证)

    我正在使用 Symfony2 开发一个网站 直到今天 登录没有问题 但现在登录时我没有正确验证 Symfony 分析器将我列为logged in as anon而不是我登录的用户 我还被重定向回登录页面而不是目标路径 登录过程由传统的登录表
  • 安全灵活的跨域会话

    我有一个问题希望你能帮忙解决 假设我在一家名为 Blammo 的假设公司工作 我们有一个名为 Log 的假设产品 我正在尝试建立一个系统 人们可以登录 logfromblammo com 并订购我们的一些产品 然后当他们准备好购买时 前往
  • 如何检查 Rails 中的会话大小?

    我希望session size session length or session count工作 但它们都返回 未定义的方法 为什么 不是session a hash 那是好奇心 实际问题 有没有办法检查会话大小 以 KB 为单位 目前我
  • PHP 会话中的数据错误

    我对网上商店进行了以下设置 当用户登录时 通过 AJAX 调用脚本 该脚本根据 SOAP Web 服务验证用户数据 并返回用户数据 当用户登录时 用户数据保存在 PHP 会话中 用户数据 仅通过 SOAP 检索 而不由商店存储 我使用默认的
  • 找不到元素“ehcache”的声明

    我正在我的 Web 应用程序中实现 url 缓存 运行时 ehcache xml 文件出现错误 我正在使用 spring 2 5 jar 文件 ehcache xml
  • 优雅地终止 WCF 服务 - 完成所有打开的会话并限制新会话

    我有一个我编写的 WCF 服务 它托管在 Windows 服务中 它以 PerSession 模式运行 该服务允许客户端通过该服务远程打开文件 更改文件以及关闭文件 到目前为止一切工作都非常顺利 当 Windows 服务停止时 我希望能够让
  • ApplicationEventMulticaster 未初始化 - 在多播事件之前调用“刷新”

    我正在尝试实施ehcache对于我的应用程序 但是当尝试调用服务器时 出现以下错误 java lang IllegalStateException ApplicationEventMulticaster not initialized ca
  • Codeigniter - 检查用户是否已登录并存在(它是真实用户)

    我正在尝试在用户登录我的网站时为他们设置会话数据 因此 如果用户存在于数据库中 我将设置一个会话数据 例如 this gt session gt set userdata user exists 1 现在 每次我想检查用户是否存在并已登录时
  • 如何在 C# 中将 cookie 过期设置为“会话”?

    不言自明 在 PHP 中 解决方案是将 cookie 过期设置为 0 我不确定 C 因为它需要 DateTime 值 的文档Cookie 过期 http msdn microsoft com en us library system net
  • 会话亲和性和粘性会话之间的区别?

    有什么区别会话关联性 and 粘性会话在负载平衡服务器的上下文中 我见过这些术语可以互换使用 但有不同的实现方式 在第一个响应中发送 cookie 然后在后续响应中查找它 cookie 表明要发送到哪个真实服务器 Bad如果您必须支持无 c

随机推荐

  • 基于openstack的免费云计算平台使用方法总结(IBM power架构 、支持docker)

    声明 此文档只做学习交流使用 请勿用作其他商业用途 author 朝阳 tony E mail linzhaolover 163 com Create Date 2015 3 6 13 55 38 Friday Last Change 20
  • 服务器配置vue项目的默认路由,Vue-Router项目设置Nginx伪静态

    Vue Router项目设置Nginx伪静态 使用Vue Vue Router的项目 在history模式下 出现了刷新页面404的问题 服务器为Nginx 出现刷新404的原因是Vue Router定义的路由并没有真实的存在于服务器上 N
  • 图像镜像翻转

    将图像左右镜像翻转 生成翻转后的图像 python3代码 import numpy as np import cv2 import matplotlib pyplot as plt 图片镜像翻转 def left2right img pat
  • STM32矩阵按键(定时器)

    由于采用延时函数会影响程序速度 所以采用定时器中断写的矩阵扫描按键 利用简单的状态机思想 1 定时器初始化 定时器初始化 void TIM2 Configuration void TIM TimeBaseInitTypeDef TIM Ti
  • C++的编程规范

    C 是一种功能强大的编程语言 具有广泛的应用领域 编写高质量 可维护的C 代码需要遵循一定的编程规范 目录 命名规范 头文件和包含 缩进和空格 注释 函数和类 错误处理 内存管理 代码风格 命名规范 使用有意义且易于理解的变量 函数和类名
  • img标签图片加载失败显示图片

    img标签图片加载失败显示图片 onerror nerr r null src image community initialize img png
  • dfs序(基础讲解)

    dfs序简介 dfs序一般用于树状结构中 如图 图中红色序号为每个点对应的dfs序序号 黑色序号为每个点默认的序号 我称之为节点序序号 下文同 可见 dfs序如其名 dfs序序号是按照dfs顺序标记的 所以说给每个节点安排上dfs序序号也很
  • oracle存储过程调试

    oracle如果存储过程比较复杂 我们要定位到错误就比较困难 那么可以存储过程的调试功能 先按简单的存储过程做个例子 就是上次做的存储过程 proc test 1 先在数据库的procedures文件找到我们之前创建存储过程 2 选中存储过
  • R语言 Scale函数

    在我们做数据的时候 一个数据会有很多特征 比如在描述影响房价的因素 有房子面积 房间数量等 而不同的特征存在不同的量纲 为了消除量纲 数值差异等 我们就需要对数据进行中心化和标准化 那什么是中心化 什么是标准化呢 所谓中心化就是将数据减去均
  • STL中的排序

    0 前言 STL 为什么你必须掌握 对于程序员来说 数据结构是必修的一门课 从查找到排序 从链表到二叉树 几乎所有的算法和原理都需要理解 理解不了也要死记硬背下来 幸运的是这些理论 都已经比较成熟 算法也基本固定下来 不需要你再去花费心思去
  • 利用Figlet工具创建酷炫Linux Centos8服务器-登录欢迎界面-SHELL自动化编译安装代码

    因为我们需要生成需要的特定字符 所以需要在当前服务器中安装Figlet 默认没有安装包的 其实如果我们也只要在一台环境中安装 然后需要什么字符只要复制到需要的服务器中 并不需要所有都安装 同样的 我们也可以利用此生成的字符用到脚本运行的开始
  • 大数据入门 - 基础概念

    文章目录 1 发展历史 2 分布式系统 可靠性 可扩展性 可维护性 4 单机引擎的问题 事务 写入和存储 数据的序列化 3 GFS Google File System master 的快速恢复性和可用性保障 数据写入的优化 4 MapRe
  • QT中setWindowFlags和 setAttribute使用详解及注意问题

    1 setWindowFlags QT WindowFlags 主要设置一些窗口标志 平常开发中主要有两类需求 1 1 将某一子窗口设置为最顶层窗口 使用Qt Tool 属性 setWindowFlags Qt Tool 1 2 重新定义窗
  • 【Redis】4、全局唯一 ID生成、单机(非分布式)情况下的秒杀和一人一单

    目录 一 利用 Redis 实现全局唯一 ID 生成 1 为啥要用全局唯一 ID 生成 2 全局唯一 ID 生成器 3 全局 ID 的结构 4 代码实现 RedisIdWorker Test 5 全局唯一 ID 其他生成策略 二 添加优惠券
  • 使用python爬取淘宝商品信息

    要使用Python爬取淘宝商品信息 您可以按照以下步骤 安装必要的库 您需要安装Python的requests库和BeautifulSoup库 要使用Python爬取淘宝商品信息 您可以按照以下步骤 安装必要的库 您需要安装Python的r
  • 「科普」一文读懂生产制造MES系统

    谈及MES必须先谈生产 那什么是生成呢 生产管理是通过对生产系统的战略计划 组织 指挥 实施 协调 控制等活动 实现系统的物质变换 产品生产 价值提升的过程 生产管理是企业价值链的主要环节 是构成企业核心竞争力的关键内容 1 什么是MES系
  • ViT(vision transformer)原理快速入门

    本专题需要具备的基础 了解深度学习分类网络原理 了解2017年的transformer Transformer 技术里程碑 ViT简介 时间 2020年CVPR 论文全称 An Image is Worth 16 16 Words Tran
  • Atlassian Confluence 远程代码执行漏洞(CVE-2022-26134)复现

    Confluence介绍 Confluence是一个专业的企业知识管理与协同软件 也可以用于构建企业wiki 使用简单 但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息 文档协作 集体讨论 信息推送 漏洞概述 Atlassian C
  • mysql 子查询(六)之主查询和子查询的执行顺序

    那么 什么是相关子查询呢 举个例子 查询员工表中薪水大于本部门平均薪水的员工 首先构建思路 说到底还是查询员工 所以主查询是查询员工 然后在where后面增加子查询 查询薪水大于本部门平均薪水 开始写sql 如下 问题来了 查询某个部门的薪
  • shiro-session-ehcache配置

    首先准备好jar包 shiro的主要四个 ehcache shiro xml 配置 首先securityManager配置 sessionManager配置