系统需要一个全局超级密码,自定义校验一个固定密码。
.........
@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就表示校验成功
本文介绍了一种在Spring Security框架中自定义全局超级密码校验的方法,通过创建CustomPasswordEncoder类继承BCryptPasswordEncoder,实现了对固定超级密码的特殊校验逻辑。当前端传来的明文密码与预设的超级密码匹配时,校验直接通过。
1005

被折叠的 条评论
为什么被折叠?



