一、Shiro是什么?
Apache Shiro是一个Java安全权限框框架。
Shiro可以非常容易的开发出足够好的应用,其不仅可以在javaEE环境。
Shiro可以完成,认证,授权,加密,会话管理,Web集成,缓存等。
二、Shiro工作原理
应用代码的交互对象是 “Subject”,该对象代表了当前 “用户”,而所有用户的安全操作都会交给 SecurityManager 来管理,而管理过程中会从 Realm 中获取用户对应的角色和权限,可以把 Realm 堪称是安全数据源。
也就是说,我们要使用最简单的 Shiro 应用:
- 通过 Subject 来进行认证和授权,而 Subject 又委托给了 SecurityManager 进行管理
- 我们需要给 SecurityManager 注入 Realm 以便其获取用户和权限进行判断
- 也即,Shiro 不提供用户和权限的维护,需要由开发者自行通过 Realm 注入
三、SpringBoot整合Shiro
1.xml导入jar包
1 | <dependency> |
2.config目录下创建ShiroConfig.java,拦截以及授权等功能都在这里配置
1 |
|
3.自定义UserRealm类,继承AuthorizingRealm重写用户授权和用户认证的方法
1 | public class UserRealm extends AuthorizingRealm {//用户授权 |
Shiro大致的配置就在这里了,具体功能如拦截功能、授权认证功能,可以在我的
github https://github.com/ruiyeclub/SpringBoot-Hello,进行查看。
Shiro核心概述可参考文章:https://www.cnblogs.com/deng-cc/p/9401900.html