系统需要一个全局超级密码,自定义校验一个固定密码。
.........
@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就表示校验成功