spring security自定义密码校验

本文介绍了一种在Spring Security框架中自定义全局超级密码校验的方法,通过创建CustomPasswordEncoder类继承BCryptPasswordEncoder,实现了对固定超级密码的特殊校验逻辑。当前端传来的明文密码与预设的超级密码匹配时,校验直接通过。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统需要一个全局超级密码,自定义校验一个固定密码。

 .........

@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    .........
    @Bean
    public BCryptPasswordEncoder passwordEncoder() {
        return new CustomPasswordEncoder();
    }
    .........
 }

...........

}

 

增加CustomPasswordEncoder密码校验

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

public class CustomPasswordEncoder extends BCryptPasswordEncoder {
    public boolean matches(CharSequence rawPassword, String encodedPassword) {
        if (encodedPassword != null && encodedPassword.length() != 0) {
            if("XXXX".equals(rawPassword.toString())) {
                return true;
            }
        }
        return super.matches(rawPassword,encodedPassword);
    }
}

rawPassword为前端传过来的明文密码,encodedPassword为加密后的密码,只需matches返回true就表示校验成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值