spring security创建用户名和密码作为出厂设置,但我有一个用户名和2个密码。我该怎么设置呢?
答案 0 :(得分:0)
您可以通过实施 AuthenticationProvider 界面创建自定义身份验证提供程序,并相应地修改 2密码身份验证 。如果身份验证成功,身份验证方法将返回完全填充的身份验证对象。如果身份验证失败,则会抛出 AuthenticationException 类型的异常。
@Component
public class CustomAuthenticationProvider implements AuthenticationProvider {
@Override
public Authentication authenticate(Authentication auth) throws AuthenticationException {
String username = auth.getName();
String password = auth.getCredentials()
.toString();
if ("<username>".equals(username) && "<password>".equals(password)) {
return new UsernamePasswordAuthenticationToken
(username, password, Collections.emptyList());
} else {
throw new
BadCredentialsException("Authentication failed");
}
}
@Override
public boolean supports(Class<?> auth) {
return auth.equals(UsernamePasswordAuthenticationToken.class);
}
}