spring security3 使用自定义MD5或者其他加密规则
首先看下sping security的xml配置:
<!-- 替换user-service-ref方式的AuthenticationProvider --><bean id="myAuthenticationProvider" class="org.springframework.security.authentication.dao.DaoAuthenticationProvider"><property name="userDetailsService" ref="myUserDetailService"></property><!-- 默认为true隐藏后台正常的异常 --><property name="hideUserNotFoundExceptions" value="false"></property><!-- 使用MD5加密--><property name="passwordEncoder" ref="md5PasswordEncoder"></property><!-- 登录账号做为盐值,username为org.springframework.security.core.userdetails.User属性 --><!--<property name="saltSource"><bean class="org.springframework.security.authentication.dao.ReflectionSaltSource"><property name="userPropertyToUse" value="username"></property></bean></property>--></bean>
下面这个是spring本身的加密规则和定义了一个自身的加密规则:
<!-- 用户的密码加密或解密 <bean id="md5PasswordEncoder" class="org.springframework.security.authentication.encoding.Md5PasswordEncoder"></bean>--><!-- 可定义自己的加密规则 --><bean id="md5PasswordEncoder" class="com.ruizhisoft.framework.security.MyPasswordEncoder"></bean>
spring源码的代码就不贴了,下面贴下自己的加密规则(可实现多个加密规则于一身),首先要继承上面源码的那个类(org.springframework.security.authentication.encoding.Md5PasswordEncoder),然后重写isPasswordValid()方法,返回true就是验证通过,false即为验证不通过!
public boolean isPasswordValid(String encPass, String rawPass, Object salt) {boolean flag = false;if(StringUtils.isNotBlank(MD5_CLASS) && MD5WithSalt.equals(MD5_CLASS)){//MD5WithSalt,这个加密方式flag = com.ruizhisoft.framework.security.utils.MD5WithSalt.verify(rawPass, encPass);}else{//MyMd5PasswordEncoder,这个加密方式flag = com.ruizhisoft.framework.security.utils.MyMd5PasswordEncoder.verify(encPass, rawPass, null);}return flag;}
spring security3 使用自定义MD5或者其他加密规则相关推荐
- java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串...
java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串 1 package com.zdz.test; ...
- 使用Spring Security3的四种方法概述
使用Spring Security3的四种方法概述 那么在Spring Security3的使用中,有4种方法: 一种是全部利用配置文件,将用户.权限.资源(url)硬编码在xml文件中,已经实现过, ...
- spring security3(转)
转:spring security3 初探 http://yzxqml.iteye.com/blog/1756106 现在很多企业和开发团队都使用了SSH2(Struts 2 +Spring 2.5 ...
- 关于对《Spring Security3》翻译 (第一章 - 第三章)
原文:http://lengyun3566.iteye.com/category/153689?page=2 翻译说明 最近阅读了<Spring Security3>一书,颇有收获(封面见 ...
- 春天的故事-Spring Security3十五日研究
sparta-紫杉 2011-4-2 22:00 前言 南朝<述异记>中记载,晋王质上山砍柴,见二童子下棋,未看完,斧柄已烂,下山回村,闻同代人都去世了,自已还未变老. 因此发 ...
- Spring Security3十五日研究
前言 南朝<述异记>中记载,晋王质上山砍柴,见二童子下棋,未看完,斧柄已烂,下山回村,闻同代人都去世了,自已还未变老. 因此发出"山中方一日,世上几千年" 的慨 ...
- Spring Boot 整合 shiro 之盐值加密认证详解(六)
Spring Boot 整合 shiro 之盐值加密认证详解 概述 不加盐认证 加入密码认证核心代码 修改 CustomRealm 新增获取密文的方法 修改 doGetAuthenticationIn ...
- Spring全家桶-Spring Security之自定义数据库表认证和鉴权
Spring全家桶-Spring Security之自定义数据库表认证和鉴权 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供 ...
- java shiro盐值加密_java中spring-shiro实现密码的MD5盐值加密
看了网上很多教程,都提到有配置spring shiro的密码加密方式,甚至给出了自定义的Class来实现.却很少有通过配置来解决的. 密码的盐值加密方式应该是非常通用的,也可以算是基础吧.按理说spr ...
- Springboot + Shiro——MD5 盐值加密(配置)
其实这里所说的盐,简单的说,就是一组安全随机数.它会在特定的时候,加入到密码中(一般来说是加密后的密码).从而使密码变得更有味道(从单一简单化到复杂化),更安全. 如何做到? 1). 在 doGetA ...
最新文章
- html中legend设置大小,HTML_如何给 legend 标签设定宽度,我们在做表单的时候经常会使 - phpStudy...
- (转)Linux进程调度时机
- 关于交换机SVI(转)
- Fibonacci数列 矩阵快速幂
- AC66U-B1) 刷梅林固件教程
- 计算机网络动画是什么软件,把动漫人头p人身上的软件叫什么 软件介绍
- 《利用python进行数据分析》读书笔记--第十章 时间序列(一)
- java框架之Quartz-任务调度整合Spring
- Hexo 入门指南(一) - 简介 准备
- 按键精灵手机助手php通讯,按键精灵手机助手教程_按键精灵手机助手怎么连接手机...
- 极光笔记|极光推送在APICloud平台的使用教程
- 免费分享佳能ir c3320 c3330 c3325彩色复印机中文维修手册
- c语言图像峰值信噪比,PSNRSSIM
- linux 编译chromium,chromium(linux环境)指定版本下载和编译教程
- c++20中的span
- java利用redis的setIfAbsent和incr,实现自增,限制总数
- MATLAB:执行程序时调用bin文件夹下的.m文件,却显示找不到该文件
- 沃尔玛的产品知识图谱
- 利用tushare进行股票数据分析
- 互斥事件的概念和公式_互斥事件
热门文章
- 计算机英特尔显卡在哪找,Win10英特尔显卡设置在哪里 英特尔核芯显卡控制面板六大功能详解...
- mysql创建临时表慢_mysql临时表产生的执行效率问题改进(转)
- 简单工厂(Java)
- Gatekeeper:首个开源的DDoS防护系统
- 《基因突变》学习笔记
- 微信小程序踩坑”日记“--Failed to load image xxx (404)
- 数字化转型没有银弹,不破不立,如何破?如何立?
- 服务案例|TAS系统安全深度威胁发现案例
- 《百家讲坛》之战国七雄
- 清明节html网页,清明节