shiro+ehcache缓存 和 验证码 和 记住我

机器学习: 共轭梯度算法(PCG) 今天介绍数值计算和优化方法中非常有效的一种数值解法,共轭梯度法。我们知道,在解大型线性方程组的时候,很少会有一步到位的精确解析解,一般都需要通过迭代来进行逼近,而 PCG 就是这样一种迭代逼近算法。 我们先从一种特殊的线性方程组的定义开始,比如我们需要解如下的线性方程组: Ax=bAx=b 这里的 A(n×n)A(n×n) 是对称,正定矩阵, b(n×... 阅读详情

shiro缓存

针对项目资源或者角色授权需要频繁查询数据库,需要使用shiro缓存。

缓存流程

shiro中提供了对认证信息和授权信息的缓存。shiro默认是关闭认证信息缓存的,对于授权信息的缓存shiro默认开启的。主要研究授权信息缓存,因为授权的数据量大。

用户认证通过。
该 用户第一次授权:调用realm查询数据库
该 用户第二次授权:不调用realm查询数据库,直接从缓存中取出授权信息(权限标识符)。

使用ehcache

在配置文件中得配置缓存管理器

这里写图片描述

shiro-ehcache.xml

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="../config/ehcache.xsd">
    <!--diskStore:缓存数据持久化的目录 地址  -->
    <diskStore path="E:\develop\ehcache" />
    <defaultCache 
        maxElementsInMemory="1000" 
        maxElementsOnDisk="10000000"
        eternal="false" 
        overflowToDisk="false" 
        diskPersistent="false"
        timeToIdleSeconds="120"
        timeToLiveSeconds="120" 
        diskExpiryThreadIntervalSeconds="120"
        memoryStoreEvictionPolicy="LRU">
    </defaultCache>
</ehcache>

缓存清空

如果用户正常退出,缓存自动清空。

如果用户非正常退出,缓存自动清空。(现在版本的shiro都是支持这个的,所以这个我们不用管了)

如果修改了用户的权限,而用户不退出系统,修改的权限无法立即生效。
需要手动进行编程实现:
在权限修改后调用realm的clearCache方法清除缓存。
下边的代码正常开发时要放在service中调用。
在service中,权限修改后调用realm的方法。
在realm中定义clearCached方法:

//清除缓存
    public void clearCached() {
        PrincipalCollection principals = SecurityUtils.getSubject().getPrincipals();
        super.clearCache(principals);
    }

然后在service中调用clearCached。比如授权信息变化的时候,一般情况下,我们不清缓存的话就要等待缓存失效之后,我们的修改才会生效。所以这个清缓存的操作一般用在我们修改了用户的权限之后,我们想让这个修改立即生效。

sessionManager

和shiro整合后,使用shiro的session管理,shiro提供sessionDao操作 会话数据。

配置sessionManager

这里写图片描述

验证码

shiro使用FormAuthenticationFilter进行表单认证,验证校验的功能应该加在FormAuthenticationFilter中,在认证之前进行验证码校验。

需要写FormAuthenticationFilter的子类,继承FormAuthenticationFilter,改写它的认证方法,在认证之前进行验证码校验。

自定义FormAuthenticationFilter

这里写图片描述

配置自定义FormAuthenticationFilter

这里写图片描述

在login.action对验证错误 进行解析

这里写图片描述

然后记得在前台页面加上验证码,还有在filter配置匿名访问验证码jsp。

记住我

用户登陆选择“自动登陆”本次登陆成功会向cookie写身份信息,下次登陆从cookie中取出身份信息实现自动登陆。

用户身份实现java.io.Serializable接口,向cookie记录身份信息需要用户身份信息对象实现序列化接口,如下:

这里写图片描述

配置rememeberMeManager

这里写图片描述

登陆页面

这里写图片描述

配置rememberMe的input名称

这里写图片描述

测试也很好测,自动登陆后,需要查看 cookei是否有rememberMe

使用UserFilter

如果设置记住我,下次访问某些url时可以不用登陆。将记住我即可访问的地址配置让UserFilter拦截。

这里写图片描述

最佳RANSAC算法拟合矩形的实现(基于PCL库) 最佳RANSAC算法是一种常用的参数估计方法,用于从数据集中拟合出最佳的模型。在计算机视觉和图像处理领域,最佳RANSAC算法常用于拟合几何形状,如矩形。本文将详细介绍如何使用点云库(PCL)中的最佳RANSAC算法来拟合矩形,并提供相应的源代码。 阅读详情

相关推荐

嵌入式设备的switch 以及PHY 芯片调试和选型 (1)

越来越的设备需要多网口的需求,于是需求搭配一个交换机实现网口的扩展。但是很多软件或是硬件工程师在实际选型和应用中经常会遇到一些问题。这里总结一下,避免大家采坑。 几个概念: MAC(介质访问控制),可以理解成数据链路层即可 PHY(物理性),简单理解层转成物理层的连接组件即可 控制接口(MDC/DMIO,I2C,...

睿峰的博客 1万+

ehcache实现验证码五分钟有效一分钟不重复发送

ehcache 配置 <!-- 缓存配置 name:缓存名称。 maxElementsInMemory:缓存最大个数。 eternal:对象是否永久有效,一但设置了,timeout将不起作用。 timeToIdleSeconds:设置对象在失效前的允许闲置时间(单位:秒)。仅当eternal=false对象不是永久有效时使用,...

fl8545的博客 1992

【2023版】基于JT808/JT1078协议的车载视频监控平台开发实战-开源架构解析

本文详细解析了基于JT808/JT1078协议的车载视频监控平台开发实战,涵盖协议核心作用、开源架构设计、开发避坑指南及二次开发建议。重点介绍了JT1078协议在音视频传输中的优化方案,以及海量位置数据存储、高可用架构等关键技术点,为开发者提供全面的实战参考。

weixin_26965807的博客 234

SpringBoot校验手机验证码案例:默认缓存、Ehcache缓存、数据淘汰策略、redis缓存

本案例实现功能:1 根据手机号码生成6位数的数字验证码2 输入手机号和验证码,判断输入的验证码是否正确 2 启用缓存 4 创建验证码的工具类 关于异或运算请点这里说明:getCacheCode()获取缓存里的验证码的方法,写在工具类这里是因为要使spring的@Cacheable这个注解生效,需要注入spring容器,该工具类在后面的ServiceImpl进行了注入,该方法返回的是注解@Cacheable的value属性值 → cacheCode (详见后面的测试) 6 s

m0_45877477的博客 1209

xenomai内核解析--嵌入式实时linux概述

Linux系统作为一个GPOS(通用操作系统)发展至今已经非常成熟可靠了,并且由于遵循GPL协议,开放所有系统源代码,非常易于裁剪。更重要的是,与其他开源的GPOS或RTOS相比,Linux系统支持多种处理器、开发板,提供多种软件开发工具,同时Linux系统对网络和图形界面的支持非常出色。显然,选择Linux操作系统在产品的开发周期和成本控制方面都有巨大优势。 虽然Linux系统功能强大、实用性强...

wsg1100 3699

Mac微信聊天记录备份终极指南:用软链接轻松迁移到外接硬盘(附重签名教程)

本文详细介绍了如何通过软链接技术将Mac微信聊天记录备份迁移到外接硬盘,解决内置存储空间不足的问题。教程包括备份文件定位、软链接创建及微信重签名步骤,帮助用户高效管理微信数据,释放Mac存储空间。

uuu88的博客 1163

shiro缓存与session持久化

shiro的session持久化与缓存配置

Bugxiu_fu的博客 1010

基于LORA的双机通信的智能农业系统

通过LoRa模块与主机进行通信,监测环境中的温度、湿度、土壤湿度和光照强度等参数,并根据预设的自动控制逻辑或者手动指令控制继电器开关,从而调节风扇、加热器、水泵、喷雾器和灯光等设备,为植物提供适宜的生长环境。使用的Lora是大夏龙雀的感觉这个是我使用过的Lora里面最好用的,因为不用设置频道就可以直接透明传输,使用起来得心应手。就像两个单片机直接串口通信一样,缺点是异步串行,不能同时进行接收和发送。继电器灯亮模拟打开对应的风扇、水泵、灯、喷雾、加热。1.使用温度传感器测当前环境的温湿度。

ssjsjss的博客 1739

SpringBoot整合ehcache缓存 手机验证码校验

SpringBoot整合Ehcache缓存 查看上个文章,手机验证码的案例已经完成了,整合Ehcache技术。Ehcache是一种缓存技术,使用springboot整合Ehcache其实就是变更一下缓存技术的实现方式 步骤①:导入Ehcache的坐标 <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId>

博客 1069

别再手动调波形了!用STM32G474的HRTIM+DAC生成精密锯齿波,附完整CubeMX配置

本文详细介绍了如何利用STM32G474的高分辨率定时器(HRTIM)和数模转换器(DAC)协同工作,实现高精度锯齿波生成。通过CubeMX配置指南、关键寄存器计算和实践技巧,帮助开发者快速掌握全硬件实现的波形生成方案,显著提升嵌入式系统的波形控制精度和响应速度。

weixin_28716769的博客 246

VLA仿真平台:Isaac sim、MuJoCo

在虚拟仿真领域,VLA(Virtual Learning Agent)仿真器是用于开发和训练虚拟机器人代理的环境,它们为机器人提供了一个平台来进行各种任务的模拟和学习,特别是在强化学习(RL)中。两款广泛应用的仿真器是和。这两者各有其特点和优势,适用于不同类型的机器人研究和开发。

u013250861的博客 860

Shiro【授权过滤器、与ehcache整合、验证码、记住我】

前言 本文主要讲解的知识点有以下: Shiro授权过滤器使用 Shiro缓存 与Ehcache整合 Shiro应用->实现验证码功能 记住我功能 一、授权过滤器测试 我们的授权过滤器使用的是permissionsAuthorizationFilter来进行拦截。我们可以在application-shiro中配置filter规则 <!--商品查询需要商...

awxj68104的博客 108

058、时域降噪(Temporal Denoise):运动补偿与递归滤波在视频降噪中的应用

本文深入探讨了时域降噪(Temporal Denoise)技术在视频处理中的应用。作者通过车载环视项目案例,揭示了空域降噪的局限性,提出利用帧间信息进行降噪的核心思路。文章详细解析了递归滤波和运动补偿两大关键技术,指出递归滤波简单但易产生拖影,而运动补偿通过计算运动矢量解决此问题。作者还分享了多帧降噪方案的优势与算力挑战,并总结了噪声模型匹配、运动矢量一致性等实战调优经验。最后强调时域降噪需要与空域降噪平衡,指出调试工具的重要性,提出"在保证运动区域无鬼影的前提下追求信噪比"的实践原则,体现了算法复杂度与效

zzfmlxs的博客 92

Shiro 之认证登录的dem

1 shiro登录的简单demo 1.1 web.xml添加shiroFilter                shiroFilter        org.springframework.web.filter.DelegatingFilterProxy                                     targetFilterLifecycle     

madison's blog 369

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

(转)shiro权限框架详解06-shiro与web项目整合(下)

http://blog.youkuaiyun.com/facekbook/article/details/54962975 shiro和web项目整合,实现类似真实项目的应用 web项目中认证 web项目中授权 shiro缓存 sessionManager使用 验证码功能实现 记住我功能实现 web项目中认证 实现方式 修改CustomRealm的doGetAut...

112

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

shiro权限框架详解06-shiro与web项目整合(下)

在web项目实现认证、授权功能 并在授权后使用缓存功能。通过自定义filter实现验证码校验。并使用shiro实现记住我功能

在路上 4055

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Shiro学习笔记——(8)实战之缓存,验证码,记住我

一、缓存(1)缓存流程shiro中提供了对认证信息和授权信息的缓存。shiro默认是关闭认证信息缓存的,对于授权信息的缓存shiro默认开启的。主要研究授权信息缓存,因为授权的数据量大。 用户认证通过。该用户第一次授权:调用realm查询数据库该用户第二次授权:不调用realm查询数据库,直接从缓存中取出授权信息(权限标识符)。使用ehcache缓存框架(2)配置cacheManager(3)创建...

星_陨的博客 455

【shiro】(5)---基于Shiro的权限管理

基于Shiro的权限管理项目搭建 前面写了四篇有关权限的文章,算是这篇文章的铺垫了。这篇文章采用开发环境 JDK1.8 Eclipse Maven 技术架构:SpringMVC+Mybatis+jQuery easyUI+Shiro 一、初步框架搭建 1、配置web.xml <!--...

a8892117的博客 212

Shiro第三篇【授权过滤器、与ehcache整合、验证码、记住我】

前言本文主要讲解的知识点有以下:一、授权过滤器测试我们的授权过滤器使用的是permissionsAuthorizationFilter来进行拦截。我们可以在applica...

3y 532

shiro登录的简单demo

1 shiro登录的简单demo 1.1 web.xml添加shiroFilter shiro过虑器,DelegatingFilterProx会从spring容器中找shiroFilter -->        filter>        filter-name>shiroFilterfilter-name>        filter-class>org.springfram

fengqilove520的专栏 436
上一篇: shiro与SSM项目整合
下一篇: MyBatis的一级缓存和二级缓存 以及 mybatis和ehcache缓存框架整合
杜鲁门
博客等级 码龄11年 219粉丝 316原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值