Spring Security loginPage 与 loginProcessingURL

Ash*_*Jha 10 spring spring-security spring-boot

loginPage 与 loginProcessingURL 之间有什么区别。 .formLogin().loginPage("/login").usernameParameter("phone-number").passwordParameter("password")

一旦用户在登录页面中提交数据,似乎 loginProcessingURL 就像 post 方法,但是当我删除它时,它也工作正常。loginProcessingURL 的意义是什么,它与 loginPage 有何不同?

Ali*_*ien 11

该行loginPage("/login")指示 Spring Security

  • 当需要身份验证时,将浏览器重定向到 /login
  • 我们负责在请求 /login 时呈现登录页面
  • 当身份验证尝试失败时,将浏览器重定向到 /login?error (因为我们没有另外指定)
  • 我们负责在请求 /login?error 时呈现失败页面
  • 当我们成功注销时,将浏览器重定向到 /login?logout (因为我们没有另外指定)
  • 我们负责在请求 /login?logout 时呈现注销确认页面

.loginProcessingUrl("/login/process")
Run Code Online (Sandbox Code Playgroud)

告诉 Spring Security 在发送指定路径时处理提交的凭据,默认情况下,将用户重定向回用户来自的页面。它不会将请求传递给 Spring MVC 和您的控制器。

参考文档