項目知識 - 權限驗證Shrio

    最近寫項目要做權限驗證,原來大學的時候都是通過filter攔截看有沒有session來判斷登陸,但是就像dao層有mybatis之類的,權限驗證肯定也有框架,所以找到了shrio,下面是從各個博客看到總結的,供自己以後翻看,不保證理解一定是對的哈。

    Apache Shiro是Java的一個安全框架。目前,使用Apache Shiro的人越來越多,因爲它相當簡單,對比Spring Security,可能沒有Spring Security做的功能強大,但是在實際工作時可能並不需要那麼複雜的東西,所以使用小而簡單的Shiro就足夠了。

   Shrio提供了下面幾種服務:Authentication(認證)Authorization(授權)SessionManagement(會話管理)Cryptography(加密)
         Authentication(認證)服務:通過她可以完成身份認證,讓她去判斷您是否爲真實的會員。
         Authorization(授權)服務:就是“訪問控制”服務,也就是讓她來識別您是否可以做某件事情,畢竟不同的會員是擁有不同的權限的。
         Session Management(會話管理)服務:這並不是您熟知的 HTTP Session,而是一個獨立的 Session 管理框架,不管是否爲 Web 應用,都可以用這套框架。
         Cryptography(加密)服務:封裝了許多密碼學算法,有您知道的,也有您不知道的,總之琳琅滿目,應有盡有。

         這幾個功能結合原來大學通過filter做權限驗證其實上面四個功能挺好理解的,後面獨立的session框架感覺比較奇特,如果寫過Servlet就應該知道Session的概念,Session呢需要有人去管理它的生命週期,這個組件就是SessionManager;而Shiro並不僅僅可以用在Web環境,也可以用在如普通的JavaSE環境、EJB等環境;所有呢,Shiro就抽象了一個自己的Session來管理主體與應用之間交互的數據。比如我們在Web環境用,剛開始是一臺Web服務器;接着又上了臺EJB服務器;這時想把兩臺服務器的會話數據放到一個地方,這個時候就可以實現自己的分佈式會話(如把數據放到Memcached服務器);

         具體詳細看:https://my.oschina.net/huangyong/blog/208783 http://jinnianshilongnian.iteye.com/blog/2018936/



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