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

Qt6.8.0(win64)安装教程

启动 Visual Studio 2022 Community,选择 “继续但无需代码” 运行,然后打开Option设置,Add一条版本配置,Location 选择 D:\Qt\6.8.0\msvc2022_64\bin\qmake,点击确定。我是win11系统,所以选择windows版,下载路径二选一即可。方案1:默认情况下,额外勾选图中两个组件(总共40多G)方案2:按图中自定义勾选组件(总共5.8G)选择Custom Installation。我选的方案2,总共5.81G。

D4G1TIAO的博客 9065

诠视MR眼镜Unity开发设置_Unity2020.3.38

请按照如下设置Android SDK 和 Gradle。打包前先将Unity切换到Android模式。Preferences 设置。

m0_71932574的博客 601

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

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

12程序猿的博客 1773

CPRI原理及应用--帧结构

对于CPRI 控制字,协议将1个超帧(256基本帧)的控制数据划分为一个“子通道”,将子通道内超帧内的控制字进行行列划分,分为4列X64行,每64个基本帧组成1列。如下图所示。每个Xs子通道内Ns的定义基本相同,在做控制字设计时,主要已Xs和Ns和X.Y.Z开展控制字映射。

u014035968的博客 2325

shiro:HashedCredentialsMatcher认证匹配

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

拒绝熬夜啊的博客 791

配电变压器测控终端装置设计

配电变压器测控终端装置在电网运行中承担着数据采集、状态监测、故障预警及远程控制的关键任务,其性能直接关系到配电系统的安全性与可靠性。本研究围绕测控终端的硬件电路、软件算法、通信系统及系统优化展开深入分析,并基于实验测试验证系统性能。硬件设计包括模拟量输入电路、电压电流信号变换电路、A/D转换电路、控制与通信电路及系统电源电路,确保信号采集的高精度与系统的稳定性。软件部分涵盖系统控制程序、数据采集与处理程序、通信程序及显示与控制程序,实现数据的实时处理与传输。通信模块结合RS-485、CAN总线及以太网技术,

weixin_44553616的博客 1102

国产系统迁移实战:在银河麒麟V10上搞定Wine32位支持,让老Windows软件跑起来

本文详细介绍了在银河麒麟V10操作系统上构建Wine32位支持的全过程,帮助用户解决Windows应用迁移难题。从系统架构差异分析到Wine环境配置,再到实战应用部署与优化,提供了一套完整的解决方案,确保老Windows软件在国产系统上稳定运行。

weixin_32288959的博客 648

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

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

方圆几里 943

Microsoft Dynamics 365软件二次开发:Dynamics365部署与版本控制策略

在Microsoft Dynamics 365中,自定义实体允许开发者扩展系统以满足特定业务需求。自定义实体可以包含字段、选项集、关系和其他属性,与标准实体类似,但完全由用户定义。1. 登录到Dynamics 365环境。2. 转到“解决方案”区域,选择“自定义”。3. 在“自定义”菜单中,选择“实体”。4. 点击“新建”,输入实体名称,例如“客户反馈”。5. 添加字段,如“反馈类型”、“反馈日期”、“描述”等。6. 设置主键和唯一标识符。7. 定义关系,如与“客户”实体的关联。

kkchenjj的博客 2208

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

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

New_Yao的博客 1445

Java 实现 MP3 音频合并工具类:摆脱 FFmpeg,高效低 CPU 的纯本地方案【需求已解决】

本方案充分发挥了 Java 音频 SPI 的潜力,实现了轻量、跨平台、低 CPU 消耗的 MP3 音频合并工具类。 对于希望在服务器或桌面应用中集成音频处理功能的开发者而言,这无疑是一个可行且优雅的解决方案。

一键难忘的博客 542

Agent应用实践之二十九 - 设计模式:人机协同

本章讲解了一种比较常见的设计模式:人机协同。通过一些场景举例,同时使用AgentScope本身自带的能力实现的人机协同模式,最后通过源码分析了AgentScope中如何实现。通过了解人机协同模式对于实际工程使用也是非常有用的。

代码让AI扣 305

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万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

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

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

HappyLoves 1573

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

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

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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、付费专栏及课程。

余额充值