spring security如何使用,先在你的專案pom.xml檔案中宣告依賴。
org.springframework.boot
spring-boot-starter-security
然後建立乙個類並繼承websecurityconfigureradapter這個方法,並在之類中重寫configure的3個方法,其中3個方法中引數包括為httpsecurity(http請求安全處理),authenticationmanagerbuilder(身份驗證管理生成器)和websecurity(web安全)。
}接下來我們先看看protected void configure(httpsecurity http)這個方法提供了乙個預設的配置。
protected void configure(httpsecurity http) throws exception
http.authorizerequests()其中這裡的意思是指通過authorizerequests()方法來開始請求許可權配置。
而接著的.anyrequest().authenticated()是對http所有的請求必須通過授權認證才可以訪問。
直觀描述
方法描述
而and()是返回乙個securitybuilder物件,formlogin()和httpbasic()是授權的兩種方式。
httpbasic()授權認證
formlogin()授權認證
當然這些介面都是spring security原生的介面,我們也可以自定義我們的formlogin頁面!
protected void configure(httpsecurity http) throws exception
提示一下,這個自定義表單登入的自定義頁面中的登入名引數必須被命名為username
密碼引數必須被命名為password。
而接下來當我們需要對某些開放的url,給與任何人訪問的時候,我們應該如何設定呢?答案很簡單我們先看著**慢慢深入!
protected void configure(httpsecurity http) throws exception
我們可以在authorizerequests() 後定義多個antmatchers()配置器來控制不同的url接受不同許可權的使用者訪問,而其中permitall() 方法是執行所有許可權使用者包含匿名使用者訪問。
而hasrole("許可權")則是允許這個url給與引數中相等的許可權訪問。
access("hasrole('許可權') and hasrole('許可權')") 是指允許訪問這個url必須同時擁有引數中多個身份許可權才可以訪問。
hasanyrole("admin", "dba")是指允許訪問這個url必須同時擁有引數中多個身份許可權中的乙個就可以訪問該url。
我們接下來就簡單的定製一下登入登出行為!
使用者認證流程
}新建myuserdetailsservice方法並實現userdetailsservice這個介面
@component
public class myuserdetailsservice implements userdetailsservice
return new securityuser(user);}}
基本的認證邏輯就到這裡了,對於有另外的業務需求都可以在自定義的myuserdetailsservice中處理完成!
@enableglobalauthentication
public class securityconfig extends websecurityconfigureradapter
}
新建mysecurity類
@component("mysecurity")
public class mysecurity()
return false;}}
基於RuoYi學習SpringSecurity整合
spring security配置 author ruoyi enableglobalmethodsecurity prepostenabled true securedenabled true public class securityconfig extends websecurityconfi...
ioctl初步理解
ioctl系統呼叫是為使用者空間建立的一種控制硬體裝置的通道。比如控制串列埠的波特率,馬達的轉速等等。是使用者空間和核心空間進行通訊的方式之一。要實現乙個ioctl,需要使用者空間和核心空間兩方面的配合。如果想要乙個硬體支援ioctl,則要在其驅動函式中加入ioctl的實現,應用程式想要通過ioct...
初步理解socket
在學習socket之前,先回顧下tcp ip協議。tcp ip transmission control protocol internet protocol 即傳輸控制協議 網間協議,定義了主機如何連入網際網路及資料如何再它們之間傳輸的標準,從字面意思來看tcp ip是tcp和ip協議的合稱,但實...