在spring security中覆盖默认login-processing-url的用例是什么?

Abh*_*der 4 java spring spring-mvc spring-security java-ee

以下是spring security form登录的示例配置

<http auto-config="true" use-expressions="false">
      <form-login login-processing-url="/static/j_spring_security_check"
                  login-page="/login"
                  authentication-failure-url="/login?login_error=t"/>
  </http>
Run Code Online (Sandbox Code Playgroud)

现在,如果我没有指定任何显式login-processing-url spring,则将其假定为"/ j_spring_security_check".我找不到默认和重写之间的任何类型的功能差异,并且发现spring无缝地处理更改.我试着去谷歌了解我们什么时候应该覆盖它.答案都没有让我满意.

那么我们何时以及为什么要覆盖默认的login-processing-url?最重要的是,当我们"必须"覆盖默认值时,是否存在任何用例?

谢谢

Jay*_*ist 9

如果您想隐藏使用Spring Security的事实,您应该覆盖login-processing-url类似"forms/login"的内容,以及用户名和密码表单参数.这有助于隐藏您用于保护站点的框架.

<form-login>标签是配置手短UsernamePasswordAuthenticationFilter.此过滤器仅由指定的URL调用login-processing-url,并将使用为请求设置的值username-parameterpassword-parameter作为用户名和密码.