漫步SpringSecurity---大白話權限控制

權限控制現在在各個系統中隨處可見,尤其是很多公司的後臺管理系統。設想如果一個公司的後臺管理系統誰都能去訪問,那該多恐怖,比如淘寶…這一篇博客就來記錄一下權限控制的一些小概念。


爲什麼需要這個權限控制呢?其實前言已經說了, 簡單來說就是通過用戶的角色信息,從而給該用戶不同的操作權限。 舉個例子比如我們的csdn論壇,它是會員等級的,不同的等級就有不同的操作權限。比如我這種等級,每個月只能得到一張推薦卡,而高等級每個月能得到更多,再往上就是爾等不敢想象的了。這其中就是有着權限控制。還有一種情況,假設csdn的後臺管理系統,如果沒有權限控制,那麼誰都能訪問,如果有人進去後臺把別人辛辛苦苦寫出來的文章直接刪掉,那原創作者的心裏面積該多大呀,微積分都求不出來了…

權限控制可是很重要的,上面的例子中,我們沒有後臺的操作權限,所以我們進入不了後臺。從而就確定了後臺不是任何人都能訪問的。

現在開發中,已經有了和權限控制有關的"腳手架",我們基本可以拿來開箱即用了,用的比較多的有shiroSpringSecurity。而這個系列的博客着重記錄後者,這些是後話了。


權限控制有幾個重要的概念,簡單來說就是認證授權

認證是啥,它和登錄挺像的,不同的是,登錄成功後就登錄成功,最多把當前的用戶信息(姓名,年齡,學校)保存在session域中。而認證成功之後,就等於告訴系統你是誰。在拿上面舉到的例子,我們現在是csdn的後臺管理員,我們可以登錄csdn的後臺系統,我們登錄進入後臺系統之後呢,這個過程中,相當於告訴系統我們就是管理員了,告訴系統我們是何身份。

授權,在我們認證成功後,系統知道我們的身份了,那麼我們肯定就和沒身份的人不一樣呀(狗頭)。怎麼個不一樣呢?這時系統就會根據我們的身份給我們不同的權限,比如在一個學校中,我是一個班主任,那麼我只有管一個班的權限。而級長可以管理一個年級。系統會根據我們身份從而給我們劃定"範圍"。

上面的說的兩個概念有可以細分成用戶角色權限。簡單來說下:

  • 用戶: 一個系統中有很多個用戶,如同這世界上有70億人
  • 角色: 每個用戶都有不同的角色,如同有的人是醫生,有的人是警察。
  • 權限: 說到底,角色只是一個標識符,如果角色的劃分沒有區別,那麼角色只是一個沒意義的標識符。那麼角色的意義是什麼呢?就是每一個角色所能幹的事情不相同,如同醫生救死扶傷,警察懲惡揚善(當然只是舉例子,醫生也可以懲惡揚善,警察也能救死扶傷)。每一個角色的差別其實就是他們的權限不同。

這篇博客簡單記錄一下幾個概念,後續有相關會繼續補充,感謝觀看🙏.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章