javascript
权限管理-SpringSecurity介绍
Spring Security介紹
1、框架介紹Spring?是一個非常流行和成功的?Java?應(yīng)用開發(fā)框架。Spring Security?基于?Spring?框架,提供了一套?Web?應(yīng)用安全性的完整解決方案。一般來說,Web?應(yīng)用的安全性包括用戶認(rèn)證和用戶授權(quán)兩個部分。
(1)用戶認(rèn)證指的是:驗(yàn)證某個用戶是否為系統(tǒng)中的合法主體,也就是說用戶能否訪問該系統(tǒng)。用戶認(rèn)證一般要求用戶提供用戶名和密碼。系統(tǒng)通過校驗(yàn)用戶名和密碼來完成認(rèn)證過程。
(2)用戶授權(quán)指的是驗(yàn)證某個用戶是否有權(quán)限執(zhí)行某個操作。在一個系統(tǒng)中,不同用戶所具有的權(quán)限是不同的。比如對一個文件來說,有的用戶只能進(jìn)行讀取,而有的用戶可以進(jìn)行修改。一般來說,系統(tǒng)會為不同的用戶分配不同的角色,而每個角色則對應(yīng)一系列的權(quán)限。
Spring Security其實(shí)就是用filter,多請求的路徑進(jìn)行過濾。
(1)如果是基于Session,那么Spring-security會對cookie里的sessionid進(jìn)行解析,找到服務(wù)器存儲的sesion信息,然后判斷當(dāng)前用戶是否符合請求的要求。
(2)如果是token,則是解析出token,然后將當(dāng)前請求加入到Spring-security管理的權(quán)限信息中去
2、認(rèn)證與授權(quán)實(shí)現(xiàn)思路 如果系統(tǒng)的模塊眾多,每個模塊都需要就行授權(quán)與認(rèn)證,所以我們選擇基于token的形式進(jìn)行授權(quán)與認(rèn)證,用戶根據(jù)用戶名密碼認(rèn)證成功,然后獲取當(dāng)前用戶角色的一系列權(quán)限值,并以用戶名為key,權(quán)限列表為value的形式存入redis緩存中,根據(jù)用戶名相關(guān)信息生成token返回,瀏覽器將token記錄到cookie中,每次調(diào)用api接口都默認(rèn)將token攜帶到header請求頭中,Spring-security解析header頭獲取token信息,解析token獲取當(dāng)前用戶名,根據(jù)用戶名就可以從redis中獲取權(quán)限列表,這樣Spring-security就能夠判斷當(dāng)前請求是否有權(quán)限訪問總結(jié)
以上是生活随笔為你收集整理的权限管理-SpringSecurity介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringCloud(Gateway网
- 下一篇: 权限管理-整合SpringSecurit