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

时间:2013-05-03 13:10:15

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

以下是spring security form login

的示例配置
<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>

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

那么我们何时以及为什么要覆盖默认的login-processing-url?最重要的是,当我们“必须”覆盖默认值时会有任何用例吗?

由于

1 个答案:

答案 0 :(得分:9)

如果要隐藏使用Spring Security的事实,则应将login-processing-url覆盖为“forms / login”,以及用户名和密码表单参数。这有助于隐藏您用于保护站点的框架。

<form-login>标记是配置UsernamePasswordAuthenticationFilter的简写。此过滤器仅由login-processing-url中指定的网址调用,并将使用username-parameterpassword-parameter设置的值作为请求中的用户名和密码。