shiro是java的一個權(quán)限安全框架,,它對比于Spring Security雖然功能沒有那么強大,,但是它簡單而且在平時的開發(fā)中所需的功能也基本都能滿足,所以比較好用,,那現(xiàn)在就入門一下shiro框架吧,。 Authentication:身份認(rèn)證/登錄,驗證用戶的身份信息,; Authorization:授權(quán),,哪個用戶擁有什么樣的權(quán)限給其進(jìn)行授權(quán)。 Session Manager:會話管理,,用戶登錄后未退出時其信息都存在會話里,。 Cryptography:加密,對用戶密碼進(jìn)行加密,,防止明文密碼出現(xiàn),。 Web Support:Web支持,可以非常容易的集成到Web環(huán)境,; Remember Me:記住我,,這個功能開啟后下次登錄就不能重新登錄了。
工作流程是這樣的前臺將用戶名/密碼通過Subject與shiro的核心管理器(shiro securitymanager)進(jìn)行交互來獲取權(quán)限和認(rèn)證的,,核心管理器從Realm中獲取用戶的權(quán)限信息,。 Subject:主體,代表了當(dāng)前“用戶”,,這個用戶可以是人也可以使某個機器,。 SecurityManager:安全管理器;這是shiro的核心,,它管理著所有Subject,;它負(fù)責(zé)與后邊介紹的其他組件進(jìn)行交互,。 Realm:Shiro從Realm獲取安全數(shù)據(jù)(如用戶、角色,、權(quán)限),可以把Realm看成DataSource,,即安全數(shù)據(jù)源,。 Authenticator:認(rèn)證器,負(fù)責(zé)主體認(rèn)證的,,可以自定義實現(xiàn),。 Authrizer:授權(quán)器,或者訪問控制器,,用來決定用戶是否有權(quán)限進(jìn)行相應(yīng)的操作,;即控制著用戶能訪問應(yīng)用中什么功能。
|