Spring Security的
表單的一些細節以及configure(HttpSecurity http)的配置


自定義表單的時候,兩個輸入框,一個賬號,一個密碼,input標簽中的name是默認固定的,不可以修改,修改后會導致無法正常登錄。

默認:

  賬號:name=“username”

  密碼:name=“password”

如果要修改的話,需要到configure(HttpSecurity http)方法中自己定義

.formLogin()

.usernameParameter("zyl")
.passwordParameter("zzz")

 

 

configure(HttpSecurity http)

同種功能的不同實現是可以重復配置的,一律以后面的為准

配置的接口無論是GetMapping,PostMapping都可以。

.defaultSuccessUrl("/defaultSuccess")

這個是默認從哪里進入的登錄界面,則成功后回到那個頁面 例如:我從http://localhost:8080/hello進入登錄界面,登錄成功后也回到hello界面

但是這個方法實際上還有個參數,alwaysUse,該參數默認為false,如果設置為true,url會在登錄成功后去往http://localhost:8080/defaultSuccess

 

 

.successForwardUrl("/successForward")

不管是從哪里進入的登錄界面,一律是跳轉到.loginProcessingUrl("/doLogin")的這個doLoginurl,只不過界面上的返回值是/successForward接口的返回值

 

 

.failureUrl("/failureUrl")

會去往http://localhost:8080/failureUrl

 

.failureForwardUrl("/failureForwardUrl")

會去往http://localhost:8080/doLogin(即loginProcessingUrl)

 

以上關於登錄成功和失敗的配置,有差別的知識url顯示的地址不同,返回值還是接口的內容。

需要注意一點:success的接口可以是@getMapping,但是failUrl的接口一定得是@PostMapping,@PostMapping對於以上配置是都可以的,但是@GetMapping對於fail的接口就不行了。

登出的接口默認是logout,可以通過

.logout().logoutRequestMatcher(new AntPathRequestMatcher("/exit12", "POST"))

但需要注意的一點,即使這個exit12沒有定義一個@RequestMapping的存在,也是可以直接請求的。

瀏覽器F12,在console中出入如下,發起post請求

var xhr = new XMLHttpRequest();
xhr.open("POST","/exit",true);
xhr.send();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM