springsecurity实现MD5验证用户登录

本文介绍如何在SpringBoot应用中使用SpringSecurity进行MD5加密用户密码以实现安全登录。由于最新SpringSecurity版本不包含MD5相关类,因此需要手动引入低版本的springsecurity jar包或自行实现MD5加密功能。在WebSecurityConfig配置中,设置安全拦截并转换用户密码为MD5格式,然后与数据库中的MD5密码进行匹配。在用户注册时,同样需要在DAO层对输入的密码进行MD5加密后再存储到数据库。

首先需要引入MD5的jar包中的类。

import org.springframework.security.authentication.encoding.Md5PasswordEncoder;

最新的springboot导入的springsecurity的jar包里面没有这个类,所以需要手动导入或者自己重写pom.xml导入低的springsecurity版本。

手动导入的jar包下载地址点击打开链接

websecurityconfig中的代码:

private static Md5PasswordEncoder md5encoder = new Md5PasswordEncoder();

    @Override
    public void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(customUserService()).passwordEncoder(new PasswordEncoder(){

            @Override
            public String encode(CharSequence rawPassword) {
                return md5encoder.encodePassword(rawPassword.toString(), "hongxf");
            }

            @Override
            public boolean matches(CharSequence rawPassword, String encodedPassword) {
                return md5encoder.isPasswordValid(encodedPassword, rawPassword.toString(), "hongxf");
            }}); //user Details Service验证
    }

这样security就会拦截下来用户密码,对其进行md5转码再与数据库中的密码比较。

注册时在DAO层中对用户输入的密码进行md5转码再存入数据库

userpwd = md5encoder.encodePassword(userpwd,"hongxf");

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值