Spring Security-用户密码自定义加密

public class SunPasswordEncoder implements PasswordEncoder{

//@实现加密的方法,既将明文转换为密文的方法
 public String encodePassword(String rawPass, Object salt)
   throws DataAccessException {
  String pass = null;
  try {
   pass = Tools.encryptBasedDes(rawPass);
  } catch (Exception e) {
   e.printStackTrace();
  }
  return pass;
 }

//@验证密码是否有效的方法,返回‘true‘则登录成功

public boolean isPasswordValid(String encPass, String rawPass, Object salt)
   throws DataAccessException {
  
  String pass1 = "" + encPass;
  String pass2 = encodePassword(rawPass, salt);
  return pass1.equals(pass2);
 }

<bean id="myEncoder" class="com.xxx.common.SunPasswordEncoder" />
  
 <!-- 后台管理权限认证 -->
 <sec:authentication-provider user-service-ref="xxxxxxServiceImpl">
  <!-- sec:password-encoder hash="md5" / -->
  <sec:password-encoder ref="myEncoder" />
 </sec:authentication-provider>

加密方式:http://blog.csdn.net/s445320/article/details/9897189

时间: 2024-10-23 07:54:00

Spring Security-用户密码自定义加密的相关文章

Spring Security PasswordEncoder 密码校验和密码加密

Spring Security PasswordEncoder 密码校验和密码加密流程 PasswordEncoder 使用 首先我们先来看看一个创建密码编码器工厂方法 org/springframework/security/crypto/factory/PasswordEncoderFactories.java public static PasswordEncoder createDelegatingPasswordEncoder() { String encodingId = "bcry

Spring Security笔记:自定义Login/Logout Filter、AuthenticationProvider、AuthenticationToken

在前面的学习中,配置文件中的<http>...</http>都是采用的auto-config="true"这种自动配置模式,根据Spring Security文档的说明: ------------------ auto-config Automatically registers a login form, BASIC authentication, logout services. If set to "true", all of thes

255.Spring Boot+Spring Security:使用md5加密

说明 (1)JDK版本:1.8 (2)Spring Boot 2.0.6 (3)Spring Security 5.0.9 (4)Spring Data JPA 2.0.11.RELEASE (5)hibernate5.2.17.Final (6)MySQLDriver 5.1.47 (7)MySQL 8.0.12 需求缘起 很多时候,我们自己已经有现成的一套系统在运行了,这时候要接入spring security的话,那么难免会碰到一个问题:就是自己设计的密码加密方式和spring secur

Spring Security 3.1 自定义 authentication provider

前言 在使用Spring Security的时候,遇到一个比较特殊的情况,需要根据用户名.邮箱等多个条件去验证用户或者使用第三方的验证服务来进行用户名和密码的判断,这样SS(Spring Security,一下简称SS)内置的authentication provider和user detail service就不能用了,花了一些时间去寻找其他的办法. 前置条件 Spring MVC 结构的Web项目 Spring Security 使用第三方的Service验证用户名密码(并非数据库或者Ope

【Spring Security 四】自定义页面

在前面例子中,登陆页面都是用的Spring Security自己提供的,这明显不符合实际开发场景,同时也没有退出和注销按钮,因此在每次测试的时候都要通过关闭浏览器来注销达到清除session的效果. 一 .自定义页面 login.jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE

Spring Security(4):自定义配置

接着上节的讲,在添加了@EnableWebSecurity注解后,如果需要自定义一些配置,则需要和继承WebSecurityConfigurerAdapter后,覆盖某些方法. 我们来看一下WebSecurityConfigurerAdapter中哪些方法可以重写,需要重写. (1)WebSecurity 默认是一个空方法,一般也不会再重写. public void configure(WebSecurity web) throws Exception { } (2)HttpSecurity 默

Spring security用户URL权限之FilterSecurityInterceptor

总: 用户通过浏览器发送URL地址,由FilterSecurityInterceptor判断是否具有相应的访问权限. 对于用户请求的方法权限,例如注解@PreAuthorize("hasRole('ADMIN')"),由MethodSecurityInterceptor判断 两个拦截器都继承了AbstractSecurityInterceptor /* * Copyright 2004, 2005, 2006 Acegi Technology Pty Limited * * Licen

spring security 用户名密码错误返回401页面

因为要在登陆的时候增加企业编号验证,自己定义了DisUsernamePasswordAuthenticationFilter类并继承AbstractAuthenticationProcessingFilter这个类,但是运行后发现只要用户名密码错误或者没有权限等其他错误都返回401 -Authentication Failed,如下图: 后经过排查发现,在重写AbstractAuthenticationProcessingFilter类时没有传入登录失败跳转的路径failureUrl.找到问题后

Spring Security简单实现自定义退出功能

1.前端页面写法 <a href="javascript:;" onclick="logoutBackground()">退出</a> 2.js /** * 退出后台 */ function logoutBackground() { $.get("/admin/logout", function (msg) { if (msg === "true") { window.location.href = &