springboot+shiro入门学习(五)自定义密码比较器

SpringBoot注解配置Shiro校验加密密码 1.编码的工具类 这里使用的MD5编码,这种都是不可逆的加密方式,使用工具类对密码进行加密 /** * 加密 */ public class MD5Utils { //可以使用随机数,这里用于测试,使用固定盐 public static final String SALT = "Test_user_password"; public static String compute... 阅读详情

定义一个类实现SimpleCredentialsMatcher方法。重写doCredentialsMatch方法 

public class CredentialMatcher extends SimpleCredentialsMatcher{

	@Override
	public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) { 
		UsernamePasswordToken uToken = (UsernamePasswordToken)token;
		//后台传入的密码
		String password  =  new String(uToken.getPassword());
		//获取数据库存放的的密码
		String dbPassword = (String) info.getCredentials();
		return this.equals(password,dbPassword);
	}
	
}

其中info.getCredentials()获取到的值为MyRealm中doGetAuthenticationInfo方法

SimpleAuthenticationInfo simpleAuthenticationInfo = new SimpleAuthenticationInfo(user, 
                user.getPassword(),this.getClass().getName());

传入的user.getPassword.

在shiroConfig中定义

@Bean
	public CredentialMatcher credentialMatcher() {
		return new CredentialMatcher();
	}



/**
	   *   注入自定义的realm
	 * @return
	 */
	@Bean
	public MyRealm myRealm() {
		MyRealm realm = new MyRealm();
		realm.setCredentialsMatcher(credentialMatcher());
		
		/*
		 * realm.setCacheManager(ehCacheManager()); //启用身份验证缓存,默认为false
		 * realm.setAuthenticationCachingEnabled(true); //缓存AuthenticationInfo信息的缓存名称
		 * 在ehcache-shiro.xml中有对应缓存的配置
		 * realm.setAuthenticationCacheName("authenticationCache"); //启用权限验证缓存,默认false
		 * realm.setAuthorizationCachingEnabled(true); //缓存AuthorizationInfo信息的缓存名称
		 * 在ehcache-shiro.xml中有对应缓存的配置
		 * realm.setAuthorizationCacheName("authorizationCache");
		 */
		return realm;
	}

 

shiro自定义密码匹配验证,密码加密验证。 1.更改shiro安全管理配置 是jeesite写的,Spring自动注入。 2.自定义密码验证 /** * Description: 告诉shiro如何验证加密密码,通过SimpleCr 阅读详情

相关推荐

关于shiro里的自定义密码匹配

在配置shiro使用redis作为缓存账号多次登陆失败锁定的时候,自定义的密码匹配器进不去,实际根本没调用,求解啊。研究了好久不知道哪写错了。springboot 2 + shiro 1.4 + redis(jedis) 这是shiroconfig的配置: @Bean("retryLimitHashedCredentialsMatcher") public RetryLimitHa...

zaincs的博客 1054

Shiro 之 CredentialsMatcher

一、简介 应有系统中需要保存用户登录账号、密码以供用户登录校验。如果在数据库中保存密码明文则有一定的安全性,通常对密码使用Hash运算保存,常见的Hash算法有MD5、SHA等。 二、INI 配置CredentialsMatcher [main] #自定义Reaml 实现认证、授权 realm=com.vincent.UserRealm #定义凭证匹配器 credentialsMatcher=or...

Zllvincent的博客 1万+

【SpringBoot】23、SpringBoot中整合Shiro实现权限管理

之前在 SSM 项目中使用过 shiro,发现 shiro 的权限管理做的真不错,但是在 SSM 项目中的配置太繁杂了,于是这次在 SpringBoot 中使用了 shiro,下面一起看看吧 一、简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。 三个核心组件: 1、Subject: 即“当前操作用户”。但是,在 Shiro 中,Subje

JACKAL 21万+

Shiro认证时的密码比对

Shiro认证时的密码比对 在前面一节《Shiro在Web环境下集成Spring的大致工作流程》的最后一步中提到由Shiro完整密码比对。 那么具体是怎么工作的? 1,既然shiro会把密码来进行比对,当然会调用 UserNamePasswordkToken 中的 getPassword() 方法了。在该方法中打上断点,往前跟踪一下即可。 ...

weixin_30478757的博客 623

基于Autoware制作高精地图(一)

基于Autoware制作高精地图(一) ​开始进入正题,也是最近在忙的一件事,制作高精地图。 高精地图的制作大概分为以下四个流程(不一定完全正确): 1.构建点云地图; 2.点云地图标注; 3.制作OpenDrive地图; 4.地图存储索引。 这篇文章主要讲解如何构建点云地图。 首先我们要有一段自己录制的激光雷达点云数据,这里推荐大家采用Velodyne16线激光雷达,因为这里我们构建的点云底图是三维的,而采用Velodyne而不是速腾聚创(rslidar)等其他品牌的原因是Autoware里面有一个选项是

weixin_44570248的博客 7797

Linux系统杀毒软件深度评测:8款主流工具对比(2025最新版)

本文针对Linux服务器/桌面环境,实测8款杀毒软件,涵盖开源免费、企业级防护、轻量级工具等类型,附保姆级安装教程和避坑指南,新手也能5分钟选对工具!

awei0916的专栏 1万+

Shiro(三):Shiro 密码的比对、MD5盐值加密

Shiro(二)介绍如何实现一个简单的Shiro认证流程,接下来对 密码的比对与加密进行简单的介绍。 Shiro 密码的比对、MD5盐值加密 密码的比对、MD5盐值加密都是通过CrendentialsMatcher(凭证匹配器)来实现的。 一、Shiro认证时的密码比对 在Shiro进行密码比对时,一定会去拿UsernamePasswordToken 和SimpleAuthenticationInfo中封装的密码信息,那么此时要调用UsernamePasswordToken的 getPassword方法,或

12程序猿的博客 1773

【STM32】433MHz OOK信号软解码实战:从EV1527协议到嵌入式实现

本文详细介绍了基于STM32微控制器实现433MHz OOK信号软解码的完整实战过程。文章从EV1527协议解析入手,重点阐述了利用STM32的GPIO和定时器进行信号采样、脉宽还原、同步头识别以及数据位判决的核心算法,并提供了对抗无线干扰的容错优化策略,帮助开发者深入理解并掌握低成本无线通信的嵌入式实现方案。

weixin_29299807的博客 783

shiro:HashedCredentialsMatcher认证匹配

shiro:HashedCredentialsMatcher认证匹配 1、HashedCredentialsMatcher类的介绍 shiro提供了用于加密密码和验证密码服务的CredentialsMatcher 接口,而 HashedCredentialsMatcher 正是 CredentialsMatcher 的一个实现类写项目的话,总归会用到用户密码的非对称加密,目前主流的非对称加密方式是 MD5 ,以及在 MD5 上的加盐处理,而 HashedCredentialsMatcher 也允许我们指定自

拒绝熬夜啊的博客 791

08-StarRocks性能调优FAQ

StarRocks性能调优摘要 本文提供了StarRocks数据库性能调优的常见问题解答,涵盖查询优化、索引设计、分区策略和系统配置等关键方面。主要内容包括:查询优化技巧(使用EXPLAIN分析、避免全表扫描、优化JOIN和聚合查询);索引选择与维护建议(高频查询列索引、复合索引);分区策略设计(时间分区、范围分区)及其管理方法;以及系统内存配置优化(JVM参数调整、查询内存限制设置)。这些优化措施可显著提升StarRocks的查询性能和系统效率。

欢迎来到我的博客,一起探索代码里的世界! 540

基于Simulink的自适应控制(Adaptive Control)电励磁同步电动机

目录基于Simulink的自适应控制(Adaptive Control)电励磁同步电动机项目实例1. 项目背景2. 系统架构2.1 电励磁同步电动机模型2.2 三相逆变器模型2.3 自适应控制器(Adaptive Controller)2.4 系统框图3. 模型设计3.1 创建Simulink模型3.2 自适应控制(Adaptive Control)设计3.3 仿真环境搭建4. 参数优化4.1 自动调优5. 实际应用案例5.1 工业驱动系统5.2 风力发电系统6. 结论进一步优化建议需求分析电励磁同步电动机

MHD0815的博客 266

Shiro(五)——Shiro整合SSM入门完整案例

过滤器 当 Shiro 被运用到 web 项目时,Shiro 会自动创建一些默认的过滤器对客户端请求进行过滤。以下是 Shiro 提供的过滤器: 过滤器简称 对应的Java类 解释 anon org.apache.shiro.web.filter.authc.AnonymousFilter 匿名访问 authc org.apache.shiro.web.filter.authc...

方圆几里 943

CListCtrl控件的自绘操作

1、CListCtrl控件 :OwnerDraw Fixed = True,创建一个CListCtrl类的派生类CMyListCtrl,同时创建一个CMyListCtrl控件类型变量:CMyListCtrl m_cList;。 CListCtrl控件的自绘主要是CMyListCtrl类中重写DrawItem虚函数。 流程: 1.主对话框中CListCtrl的一些初始化操作: BOOL

小米的修行之路 3559

Springboot2集成Shiro框架(四)凭证比较器详解

相关 Springboot2集成Shiro框架(一)认识shiro Springboot2集成Shiro框架(二)自定义Filter Springboot2集成Shiro框架(三)自定义Realm

New_Yao的博客 1445

基于多传感器融合的智身四足机器狗楼梯环境SLAM系统设计与实现

本文设计了一种基于多传感器融合的四足机器狗楼梯环境SLAM系统。系统采用Jetson Orin NX为主控制器,集成RealSense D435i深度相机和Livox Mid360激光雷达,在ROS2框架下实现平面定位精度<5cm、楼梯环境下导航不漂移的目标。通过多层次传感器融合策略、运动学约束优化和状态切换机制,解决了楼梯环境下的定位累积误差问题,实现了平面与楼梯环境的自动识别切换及精度复位功能。硬件设计注重传感器布局优化和精确标定,软件架构采用分层设计,确保实时性能。该系统为四足机器人在复杂地形中

huanghm88的专栏 238

麒麟系统无法进入单用户模式该怎么办?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 备注:部分问题/疑难杂症搜集于互联网。

**My Coding Family** 1820

SpringBoot与Shiro整合(认证、授权和密码加密)

Shiro01_SpringBoot与Shiro整合 创建SpringBoot项目,选择以下工具包: Lombok Spring Web Thymeleaf MySQL Driver 添加MybatisPlus的依赖: <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version

BLU_111的博客 5万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SpringBoot Shiro 配置自定义密码加密器

SpringBoot Shiro 配置自定义密码加密器 自定义认证加密方式 /** * 自定义认证加密方式 */ public static class CustomCredentialsMatcher extends SimpleCredentialsMatcher { @Override public boolean doCredentialsMatch(Authentic...

HappyLoves 1573

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

SpringBoot搭建Shiro的快速入门

章节目录1. Shiro1.1 Shiro简介1.2 Shiro三大核心组件1.2.1 Subject1.2.2 SecurityManager1.2.3 Realm1.3 Shiro的认证和授权流程1.3.1 认证流程1.3.2 授权流程2. SpringBoot集成Shiro并完成登录操作2.1 集成Shiro 1. Shiro Shiro官网 1.1 Shiro简介 以下为Shiro的简单介绍: Shiro 是一个强大、简单易用的 Java 安全权限框架 Shiro 可以非常容易的开发出足够好的应用

菩提小猿的博客 1717

Springboot使用shiro

一、什么叫Aop Aop 作为面向对象编程的一种补充,广泛应用于处理一些具有横切性质的系统级服务器,如事务管理,安全检查,缓存检查,对象池管理等 Aop 实现的关键就在于代理的实现,代理分为动态代理与静态代理.动态代理是指在运行时借助JDK动态代理、CGLIB等在内存中“临时”生成Aop动态代理类,被称为运行时增强。 ...

qq_38345598的博客 4112

springboot+shiro实现自定义密码加密及验证(Bcrypt)

springboot+shiro实现自定义密码加密及验证前言正文1.创建一个类,继承 `SimpleCredentialsMatcher` 类2.修改 身份认证Realm3.修改你继承 `AuthorizingRealm` 类中的 `doGetAuthenticationInfo` 方法4. 工具类中 `BCrypt` 类获得方式5.`BcryptUtil`工具类 前言 本篇文章不展示如何集成springboot和shiro,仅展示自定义密码加密方式的相关部门,如何集成请查看其它相关文章 正文 因shi

stone.eye的博客 3073

SpringBoot整合Shiro-对密码进行MD5并加盐处理(十五)

原文:https://blog.youkuaiyun.com/qq_34021712/article/details/84571067 数据库中密码相关字段都不是明文,肯定是加密之后的,传统方式一般是使用MD5加密。 单纯使用不加盐的MD5加密方式,当两个用户的密码相同时,会发现数据库中存在相同内容的密码,这样也是不安全的。我们希望即便是两个人的原始密码一样,加密后的结果也不一样。 下面进行shiro密码 加密加盐配置: 1.ShiroConfig中添加密码比较器 /** * 配置密码比较器 * @return

Doge的技术小屋 548

Shiro入门学习(整合SpringBoot)

Apache Shiro是Java的一个安全(权限)框架 可以完成:认证、授权、加密、会话管理、与Web集成和缓存等 用户登录时把身份信息(用户名/手机号/邮箱地址等)和凭证信息(密码/证书等)封装成一个Token令牌,通过安全管理器中的认证器进行校验,成功则授权以访问系统 shiro三大功能模块 Subject:主体,一般指用户。 SecurityManager:安全管理器,管理所有Subject,可以配合内部安全组件。(类似于SpringMVC中的DispatcherServlet) Rea.

qq_25046827的博客 4745

Springboot+Shiro 修改密码

首先从前端说起,在修改密码的时候首先需要填写旧密码 我这里使用的是Jquery-Validate,主要看一下这里,把填写的旧密码传到后台进行check $("#changePasswordForm").validate({ rules : { oldWord : { remote : { ...

菜鸟逆袭之路 3418

SpringBoot整合Shiro框架

目录 1、Shiro简介 1.1、Shiro是什么? 1.2、有哪些功能? 1.3、Shiro架构(外部) 2、快速入门(QuickStartShiro) 2.1、项目结构 2.2、导入shiro依赖,这是我的pom所有依赖。(pom.xml) 2.3、相关配置文件 (1)log4j.properties——官网 (2)shiro.ini——官网 (3)启动类 Quickstart——官网 3、SpringBoot集成Shiro框架 3.1SpringBoot整合Shir...

koko创作 8906

Springboot整合shiro

是一款主流的Java安全框架,不依赖任何容器,可以运行在Java SE和Java EE项目中,它的主要作用是对访问系统的用户进行身份认证、授权、会话管理、加密等操作。Shiro 就是用来解决安全管理的系统化框架。Shiro是基于session的身份认证和访问控制框架。RBAC是Role-Based Access Control(基于角色的访问控制)的缩写。它是一种广泛应用于安全管理中的访问控制模型。RBAC模型通过授予用户不同的角色,并将角色与权限进行关联,来管理对资源的访问。

chao的博客 2797
上一篇: 微信小程序获取并修改app.js中的值
下一篇: mybatis中resultMap的用法
若往夕之
博客等级 码龄9年 20粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值