Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在SpringSecurity中覆盖默认登录处理url的用例是什么_Java_Spring_Jakarta Ee_Spring Mvc_Spring Security - Fatal编程技术网

Java 在SpringSecurity中覆盖默认登录处理url的用例是什么

Java 在SpringSecurity中覆盖默认登录处理url的用例是什么,java,spring,jakarta-ee,spring-mvc,spring-security,Java,Spring,Jakarta Ee,Spring Mvc,Spring Security,下面是spring安全表单登录的示例配置 <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_

下面是spring安全表单登录的示例配置

<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>

现在,如果我不指定任何显式的登录处理url,spring将假定它仅为“/j\U spring\U security\U check”。我找不到默认值和重写值之间有任何类型的功能差异,发现spring可以无缝地处理更改。我试着用谷歌来理解我们什么时候应该覆盖它。没有一个答案使我满意

那么,何时以及为什么我们应该覆盖默认的登录处理url?最重要的是,当我们“必须”覆盖默认值时,是否存在任何用例


谢谢

如果您想隐藏您正在使用Spring Security的事实,您应该将
登录处理url
重写为类似“forms/login”的内容,以及用户名和密码表单参数。这有助于隐藏用于保护站点安全的框架


标记是配置的简写。此筛选器将仅由
登录处理URL
中指定的URL调用,并将使用
用户名参数
密码参数
设置的值作为请求中的用户名和密码。

这是我在搜索后找到的。但我不太确定这是否是唯一的用例。你知道Spring是如何处理重写的吗?我已经用更多的细节更新了答案。最后它只是一个java过滤器,
formlogin
配置bean属性。感谢Jay提供的详细信息。我很困惑,因为我无法理解通过简单的“/j_-spring\u-security\u-check”到“/static/j_-spring\u-security\u-check”可以实现什么隐藏?在《行动中的春天》中,我将此视为一个例子,如果只是为了隐藏,我无法理解这有什么意义我还没有读完那本书,但我确实有一本。查看注销部分,他们还更改了注销URL和状态:“但是为了避免[注销URL]与我们设置DispatcherServlet的方式发生冲突,我们需要像对登录表单那样覆盖过滤器的URL。”所以我猜他们只是为了不与MVC配置冲突而对其进行了更改。太好了。谢谢Jay。我自己做了一些研究,发现信息隐藏确实是唯一的用例。