SpringBoot security框架雜記

2021-09-28 17:33:09 字數 1508 閱讀 8281

直接引入springbootsecurity依賴之後,就可以進行訪問限制,賬號是uesr,密碼會在控制台上列印出來

**********=

**中賬號密碼的優先順序高於配置檔案中的優先順序,只要在**中配置,配置檔案中的賬號密碼就會失效。

新增賬號密碼,通過注入的authenticationmanagerbuilder,新增賬號withuser().password().roles()。

url訪問限制,就需要繼承websecurityconfigureradapter類,並實現configure()方法,由於要實現的功能不同,configure()裡面的引數也就不同,上面的authenticationmanagerbuilder,這個是關於賬號密碼的新增,httpsecurity是設定url訪問限制的。

實現方法級安全看這,本質上就是在呼叫這個方法的時候,校驗這個使用者是否有這個許可權。

**********=

通過資料庫設定使用者的角色資訊。auth.userdetailsservice(userservice);要求userservice實現userdetailsservice介面,介面中只有乙個方法就是拿到使用者詳情物件userdetails。可以理解為:在你登入的時候,security框架會拿著你的userservice物件,呼叫裡面的loaduserbyusername()方法建立乙個user物件,裡面封裝了使用者的基本資訊,以及使用者的角色列表。同時注意這個user物件也需要實現userdetails介面,因為那個loaduserbyusername()方法的返回值就是這個型別。同時會將資訊進行對比,正確並且有這個角色才允許進去。從資料庫中查詢可以訪問該url的所需要的角色。首先攔截到請求物件,從物件中拿到url,訪問資料庫,檢視訪問這個url的所有角色,封裝之後返回這個list。同時這時候我也有登陸使用者的資訊,其中包含了使用者的角色資訊,進行比對,具有相同的,則這個使用者就具有訪問這個url的許可權。否則丟擲訪問拒絕異常。

;}關於catch看這篇文章

總結:security可以分為兩種情況,是否是合法使用者,是否有許可權訪問。

當使用者登陸的時候, 首先根據service的userdetialservice來查詢使用者,同時將使用者的所有角色資訊,進行封存。

在使用者輸完密碼後,將使用者的密碼用相同的演算法加密,跟快取中的物件密碼進行對比,相同則向下執行。

同時判斷使用者是否具有訪問這個url的角色,如果資料庫中沒有這個url所對應的資料,也就是活它沒被限制,可以繼續執行。如果使用者沒有這個許可權,就丟擲許可權不足的異常。

Springboot security實現安全登陸

廢話不多說,直接說步驟吧 1.引入安全依賴 org.springframework.boot spring boot starter security 2.配置使用者名稱密碼 autowired protected void configureglobal authenticationmanager...

SpringBoot security關閉驗證

springboot security關閉驗證 springboot2.x security關閉驗證 springboot2.x security關閉驗證 enableautoconfiguration exclude a 10分鐘了解json web令牌 jwt c springboot spri...

linux工具命令總結雜雜雜

pwd 當前工作目錄 tar zxvf 解壓tar zcvf 壓縮檔案名 要壓縮檔案1 要壓縮檔案2 壓縮上傳檔案 rz輸入sudo yum y install lrzsz 安裝 輸入rz 即可上傳 在scurecrt alt p 在scurecrt alt p 在原會話cd 到要上傳的目錄 然後在...