天天看點

【轉】 apache shiro 架構介紹

Apache Shiro 是一個架構,可用于身份驗證和授權。本文提供了幾個示例用來展示如何在 Java™ 應用程式中使用 Shiro 并給出了如何在一個 Grails web 應用程式中使用它的概述。為了從本文中最大限度地受益,您應該習慣于建立 Java 應用程式并安裝了如下的幾個元件:

  • Java 1.6 JDK
  • Grails(用來運作這些 web 應用程式示例)

常用縮略詞

  • API: 應用程式程式設計接口
  • HTTP: 超文本傳輸協定
  • JAR: Java 檔案檔案
  • JDBC: Java 資料庫連接配接
  • JDK: Java 開發工具包
  • LDAP:輕量級目錄通路協定

身份驗證和授權

在對系統進行安全保障時,有兩個安全性元素非常重要:身份驗證和授權。雖然這兩個術語代表的是不同的含義,但出于它們在應用程式安全性方面各自的角色考慮,它們有時會被交換使用。

身份驗證 指的是驗證使用者的身份。在驗證使用者身份時,需要确認使用者的身份的确如他們所聲稱的那樣。在大多數應用程式中,身份驗證是通過使用者名和密碼的組合完成的。隻要使用者選擇了他人很難猜到的密碼,那麼使用者名和密碼的組合通常就足以确立身份。但是,還有其他的身份驗證方式可用,比如指紋、證書和生成鍵。

一旦身份驗證過程成功地建立起身份,授權 就會接管以便進行通路的限制或允許。 是以,有這樣的可能性:使用者雖然通過了身份驗證可以登入到一個系統,但是未經過授權,不準做任何事情。還有一種可能是使用者雖然具有了某種程度的授權,卻并未經過身份驗證。

繼續閱讀