shiro(1) 介绍

1、什么是shiro
(1)属性:java框架
(2)用途:身份验证、用户受权、加密、会话管理
(3)优势:轻量、易用


2、三大组件
(1) subject:表明当前主体,与当前应用交互的任何东西都是subject;
(2) SecurityManager :安全管理器,全部有关安全的操做均与此有关。是shiro核心,负责与其余组件交互。
(3) Realms:域。 Shiro 从 Realm 获取安全数据(如用户、角色、权限),就是说 SecurityManager 要验证用户身份,那么它须要从 Realm 获取相应的用户进行比较以肯定用户身份是否合法,也须要从 Realm 获得用户相应的角色/权限进行验证用户是否能进行操做。
举个例子:

小明,小红、小强和小刚买火车票回家,此时整个火车站(包括售票机,工做人员,火车)都属于subject,与用户进行交互。
进入火车站时须要检票, 检票人员须要核对票的有效性,发现小刚的票是假的,就拒绝他进入。 核票时,须要从数据库获取信息,此时数据库就是 ,用于提供用户信息。
进入候车厅后,小强忽然大发雷霆,随意伤人,被巡逻的安保人员扣下。此时安保人员充当 SecurityManager  ,用来控制操做安全。


3、其余组件
Authenticator:认证器,用于用户身份确认。至关于检票人员。
Authorizer:受权器,用于判断用户是否有权限操做。好比,小红是一等座,小明是无座,小明如果强行占座,就会被抓起来。
Session Manager:会话管理,即用户登陆后就是一次会话,在没有退出以前,它的全部信息都在会话中;小明到站后,再想上火车,就必须再买票检票。
Cryptography:加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储;火车票上的信息都会进行加密处理,防止坏人获取。
CacheManager:缓存管理,将用户权限数据存储在缓存,这样能够提升性能。列车员会进行用户登记,登记过一次后就再也不查票了。
Cryptography即密码管理,shiro提供了一套加密/解密的组件,方便开发。好比提供经常使用的散列、加/解密等功能。好比火车票上的二维码,扫码时能够获取当前车次信息。
相关文章
相关标签/搜索