Shiro简单概述和基础架构
一:为什么要使用shiro?
1:项目中的密码是否可以明文存储?
2:是否任意访客,无论是否登录都可以访问任何功能?
3:项目中的各种功能操作,是否时所有的用户都可以任意访问?
综上:当项目中的某些功能被使用时,需要进行安全校验,进而保证整个系统的运行秩序
二:Shiro是什么?
1:Apache Shrio是Java的一个安全(权限)框架
2:Shiro可以轻松的完成:身份验证,授权,加密,会话管理等功能
3:Shiro可以非常容易的开发出足够好的应用,其不仅额可以用在JavaSE环境,也可以用在JavaEE环境
4:功能强大且易用。可以快速轻松的保护任何应用程序
5:方便的与Web集成和搭建环境
6:下载:http://shiro.apache.org/
三:Shiro架构
1:Shiro的工作流程
shiro运行流程中,3个核心的组件:Subject,SecutiryManager,Realm。
SecutiryManager对于Shiro非常重要,它就相当于SpringMVC的DispatcherServlet,他在Shiro中起到了运筹帷幄的作用,调配资源,调配各种组件。
2:RBAC模型:
a:Role Base Access Controll基于角色的访问控制,这个模型管理着权限相关的数据。
b:模型中3个主体:用户,角色,权限
每个角色可以有多个权限,每个权限可以分配多个角色
每个用户可以有多个角色,每个角色可以分配多个用户
两个多对多
c:则权限访问控制,做的事是:
A:身份校验:判断是否为合法用户
B:权限校验:用户要做某件事或某些资源,必须要拥有某角色,或者拥有某权限
3:架构: