Loading

Shiro 基本概念

Shiro

官网:https://shiro.apache.org/。

什么是 shiro :

shiro 是一款主流的 Java 安全框架,不依赖任何容器,可以在运行 Java SE 和 Java EE 项目中,他的主要作用是对访问系统的用户进行身份认证、授权、会话管理、加密等操作。

Shiro 就是用来解决安全管理的系统化框架。

Shiro 的核心组件

用户、角色、权限:

会给角色赋予权限,给用户赋予角色。

Shiro1

1、UsernamePassWordToken : Shiro 用来封装用户的登陆信息,使用用户的登陆信息来创建令牌 Token。

2、SecurityManager :Shiro 的核心部分,负责安全认证和授权。

3、Subject :Shiro 的一个抽象概念,包含了用户信息。

4、Realm :开发者自定义模块,根据项目需求,验证和授权的逻辑全部卸载 Realm 中。

5、AuthenticationInfo:用户的角色信息集合,授权时使用。

6、AuthorzationInfo:用户的权限信息集合,授权时使用。

7、DefaultWebSecurityManager :安全管理器,开发者自定义的 Realm 需要注入到该对象中进行管理才能生效。

8、ShiroFilterFactoryBean : 过滤器工厂,Shrio 的基本运行机制。开发者定制规则,Shiro 去执行,具体的执行操作就是由 ShiroFactoryBean 创建的一个个 Filter 对象来完成。

Shrio 的运行机制如下图所示:

Shiro2

Shiro 认证及授权规则

认证过滤器:

anon :无需认证。

authc :必须认证。

authcBasic : 需要通过 HTTPBasic 认证。

user :不一定通过认证,只要曾经被 Shiro 记录即可(例如记住我的操作)。

授权过滤器

perms :必须拥有某个权限才能访问。

roles :必须拥有某个角色才能访问。

port :请求的端口必须位指定值。

rest :请求必须基于 RESTful。

ssl :必须为安全的 URL 请求,协议必须为 HTTPS。

If you’re going to reuse code, you need to understand that code!
posted @ 2020-10-11 11:58  不颓废青年  阅读(115)  评论(0编辑  收藏  举报