带有额外字段

时间:2018-06-16 19:28:02

标签: java spring spring-mvc spring-boot spring-security

spring security创建用户名和密码作为出厂设置,但我有一个用户名和2个密码。我该怎么设置呢?

1 个答案:

答案 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);
  }
}