今天開始了shiro認證及授權的部分,認證及授權是shiro的主要功能,雖然shiro還具有加密等功能,但在實際開發時,很少會使用到,在公司一般都有自己的一套加密方式,具體我就不說話了,畢竟有保密協議
廢話不多說開始吧
首先開始shiro認證流程
身份認證:判定使用者是否是系統的合法使用者。
使用者訪問系統資源時的認證(對使用者身份資訊的認證)流程如下:
具體流程分析如下:
1)系統呼叫subject的login方法將使用者資訊提交給securitymanager
2)securitymanager將認證操作委託給認證器物件authenticator
3)authenticator將身份資訊傳遞給realm。
4)realm訪問資料庫獲取使用者資訊然後對資訊進行封裝並返回。
5)authenticator 對realm返回的資訊進行身份認證。
controller類的實現
@responsebody
publicjsonresult dologin(string username,string password)
自定義realm(shirouserrealm)
/*** 通過此物件獲取使用者身份相關資訊,使用者許可權相關資訊
* 間接的實現了realm介面
*/@service
public class shirouserrealm extends authorizingrealm
//自定義快取map(快取使用者許可權資訊)
private mapauthormap=
new concurrenthashmap();
/**此方法提供認證資料的獲取操作*/
@override
protected authenticationinfo dogetauthenticationinfo(
authenticationtoken token)
throws authenticationexception
@override
protected authorizationinfo dogetauthorizationinfo(
principalcollection principals)
}此外自定義realm就已經結束
以下就是攔截
在shiro.xml裡隨心所欲的設定過濾規則
正常使用就會產生如果你在瀏覽器進行url填寫為授權訪問路徑,則會跳轉你所規定的配置頁面,配置頁面詳情看前一篇文章的spring-shiro.xml
許可權框架 shiro 簡單入門例項
前面的帖子簡單的介紹了基本的許可權控制,可以說任何乙個後台管理系統都是需要許可權的 今天開始咱們來講講shiro 首先引入基本的jar包 1 2 dependency 3 groupid org.apache.shiro groupid 4 artifactid shiro core artifac...
許可權管理以及shiro的簡述(個人理解)
許可權管理簡要設計 資料庫表 許可權表 存貯各種許可權 url 使用者表 屬於某個組 組 角色 組中根據需求擁有各種許可權 角色表與組表性質類似 表關係 組和許可權表 多對多 組和使用者表 多對多 這裡的關係要根據實際需求來做決定,不是固定的 許可權表可以通過其他方式進行表示,這裡寫許可權表是為了方...
quartz個人簡單理解
乙個簡單的任務類實現job介面 該類只包含了要執行的任務內容,不包含該任務的name或者屬於哪個組,也不包含如何去執行任務,比如什麼時候開始,執行幾次,執行間隔。jobdetail實現了job例項類的自生資訊,比如name,所屬的組,quartz每次執行任務都會新建乙個job例項,而不是一直使用同乙...