zoukankan      html  css  js  c++  java
  • UsernamePasswordAuthenticationFilter

    public class UsernamePasswordAuthenticationFilter extends AbstractAuthenticationProcessingFilter {
    public static final String SPRING_SECURITY_FORM_USERNAME_KEY = "username";
    public static final String SPRING_SECURITY_FORM_PASSWORD_KEY = "password";
    private String usernameParameter = "username";
    private String passwordParameter = "password";
    private boolean postOnly = true;

    public UsernamePasswordAuthenticationFilter() {
    super(new AntPathRequestMatcher("/login", "POST"));
    }

    public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException {
    if (this.postOnly && !request.getMethod().equals("POST")) {
    throw new AuthenticationServiceException("Authentication method not supported: " + request.getMethod());
    } else {
    String username = this.obtainUsername(request);
    String password = this.obtainPassword(request);
    if (username == null) {
    username = "";
    }

    if (password == null) {
    password = "";
    }

    username = username.trim();
    UsernamePasswordAuthenticationToken authRequest = new UsernamePasswordAuthenticationToken(username, password);
    this.setDetails(request, authRequest);
    return this.getAuthenticationManager().authenticate(authRequest);
    }
    }

    protected String obtainPassword(HttpServletRequest request) {
    return request.getParameter(this.passwordParameter);
    }

    protected String obtainUsername(HttpServletRequest request) {
    return request.getParameter(this.usernameParameter);
    }

    protected void setDetails(HttpServletRequest request, UsernamePasswordAuthenticationToken authRequest) {
    authRequest.setDetails(this.authenticationDetailsSource.buildDetails(request));
    }

    public void setUsernameParameter(String usernameParameter) {
    Assert.hasText(usernameParameter, "Username parameter must not be empty or null");
    this.usernameParameter = usernameParameter;
    }

    public void setPasswordParameter(String passwordParameter) {
    Assert.hasText(passwordParameter, "Password parameter must not be empty or null");
    this.passwordParameter = passwordParameter;
    }

    public void setPostOnly(boolean postOnly) {
    this.postOnly = postOnly;
    }

    public final String getUsernameParameter() {
    return this.usernameParameter;
    }

    public final String getPasswordParameter() {
    return this.passwordParameter;
    }
    }
  • 相关阅读:
    深度学习实战 Tricks
    Latex 琐碎
    Latex 琐碎
    数据网站(数据集的获取)、打分网站
    数据网站(数据集的获取)、打分网站
    matplotlib —— 添加文本信息(text)
    hdu 1506 Largest Rectangle in a Histogram
    poj2007
    OpenRisc-43-or1200的IF模块分析
    RHEL 6.4 安装svn和apache
  • 原文地址:https://www.cnblogs.com/chenhonggao/p/9144674.html
Copyright © 2011-2022 走看看