1. 程式人生 > >Shiro框架中有三個核心概念:Subject ,SecurityManager和Realms。

Shiro框架中有三個核心概念:Subject ,SecurityManager和Realms。

2.1.2    SecurityManager
Subject的“幕後”推手是SecurityManager。Subject代表了當前使用者的安全操作,SecurityManager則管理所有使用者的安全操作。它是Shiro框架的核心,充當“保護傘”,引用了多個內部巢狀安全元件,它們形成了物件圖。但是,一旦SecurityManager及其內部物件圖配置好,它就會退居幕後,應用開發人員幾乎把他們的所有時間都花在Subject API呼叫上。
那麼,如何設定SecurityManager呢?嗯,這要看應用的環境。例如,Web應用通常會在Web.xml中指定一個Shiro Servlet Filter,這會建立SecurityManager例項,如果你執行的是一個獨立應用,你需要用其他配置方式,但有很多配置選項。

一個應用幾乎總是隻有一個SecurityManager例項。它實際是應用的Singleton(儘管不必是一個靜態Singleton)。跟Shiro裡的幾乎所有元件一樣,SecurityManager的預設實現是POJO,而且可用POJO相容的任何配置機制進行配置 - 普通的Java程式碼、Spring XML、YAML、.properties和.ini檔案等。基本來講,能夠例項化類和呼叫JavaBean相容方法的任何配置形式都可使用。