1. 程式人生 > >8.11.13 下午 第78天上課

8.11.13 下午 第78天上課

Authentication:身份認證/登入,驗證使用者是不是擁有相應的身份;

Authorization:授權,即許可權驗證,驗證某個已認證的使用者是否擁有某個許可權;即判斷使用者是否能做事情,常見的如:驗證某個使用者是否擁有某個角色。或者細粒度的驗證某個使用者對某個資源是否具有某個許可權;

Session Manager:會話管理,即使用者登入後就是一次會話,在沒有退出之前,它的所有資訊都在會話中;會話可以是普通JavaSE環境的,也可以是如Web環境的;

Cryptography:加密,保護資料的安全性,如密碼加密儲存到資料庫,而不是明文儲存;

Web Support:Web支援,可以非常容易的整合到Web環境;

Caching:快取,比如使用者登入後,其使用者資訊、擁有的角色/許可權不必每次去查,這樣可以提高效率;

Concurrency:shiro支援多執行緒應用的併發驗證,即如在一個執行緒中開啟另一個執行緒,能把許可權自動傳播過去;

Testing:提供測試支援;

Run As:允許一個使用者假裝為另一個使用者(如果他們允許)的身份進行訪問;

Remember Me:記住我,這個是非常常見的功能,即一次登入後,下次再來的話不用登入了
 

 

hasRole   驗證當前使用者是否屬於該角色

lacksRole   與hasRole標籤邏輯相反,當用戶不屬於該角色時驗證通過

hasAnyRole   驗證當前使用者是否屬於以下任意一個角色。 
hasPermission   驗證當前使用者是否擁有指定許可權

lacksPermission   與hasPermission標籤邏輯相反,當前使用者沒有制定許可權時,驗證通過。、

 

 

登出功能

Subject subject=SecurityUtils.getSubject();

subject.logout();//呼叫登出功能  可以清除cookie內容

 

會話功能

可以使用subject獲取Session

Session session=SecurityUtils.getSubject().getSession();

session.setAttribute("name", "459");//存入你想存放在Session的資料