目录
-
什么是Shiro
是一款主流的java安全框架,不依赖任何容器,可以运行javase,和javaee项目中,它的主要作用是对访问系统用户进行身份认证,授权,会话管理,加密等操作。
用来解决安全管理的系统化框架
-
权限,角色,用户之间的关系
-
Shiro 核心组件
UsernamePasswordToken: Shiro 用来封装用户登录信息,使用用户的登录信息来创建令牌Token。
SecurityManager: Shiro 的核心部分,负责安全认证和授权。
Subject: Shiro 的一个抽象概念,包含了用户信息。
Realm :开发者自定义的模块,根据项目的需求,验证和授权的逻辑全部写在Realm中。
AuthenticationInfo: 用户的角色信息集合,认证时使用。
AuthorzationInfo: 角色的权限信息集合,授权时使用。
DefaultWebSecurityManager: 安全管理器,开发者自定义的Realm需要注入到DefaultWebSecurityManager进行管理才能生效。
ShiroFilterFactoryBean: 过滤器工厂,Shiro的基本运行机制是开发者定制规则,Shiro去执行,具体的作用就是由ShiroFilterFactoryBean 创建的一个个Filter对象来完成。
-
Shiro的运行机制
-
编写认证和授权规则
认证过滤器:
anon:无需认证
authc:必须认证
authcBasic:需要通过HTTPBasic认证
user:不一定通过认证&#x