Shiro 框架认证和授权
1.Shiro 框架的认证流程
身份认证:判定用户是否是系统的合法用户
用户访问系统资源时的认证(对用户身份信息的认证)流程如下
(1)系统调用subject 的 login 方法将用户信息提交给SecurityManager
(2)SecuriyManager 将认证操作委托给认证器对象Authenticator
(3)Authenticator 将身份信息传递给Realm
(4)Realm 访问数据库获取用户信息,然后对信息进行封装并返回给Authenticator
(5)Authenticator 对realm 返回的信息进行身份认证
Shiro 授权流程
授权:对用户资源访问的授权(是否允许用户访问此资源)
用户访问系统资源时的授权流程如下:
(1)系统调用 subject 相关方法将用户信息提交给 SecurityManager
(2)SecurityManager 将权限信息的获取委托给Authorizer 对象
(3)Authorizer 对象将用户信息委托给 realm
(4)realm 访问数据库获取用户权限信息并封装,返回给 Authorizer
(5)Authorizer 对用户授权信息进行判定
认证流程图: