目录
是什么?
为什么学?
怎么学?
是什么?
Shiro 官网:Apache Shiro | Simple. Java. Security.
简单介绍:
Apache Shiro是一个强大且易用的的java安全框架,执行身份验证、授权、密码和会话管理。Shiro不依赖任何容器,可以运行在Java SE 和 Java EE项目中,简单理解Shiro就是用来解决安全管理的系统化框架,更直白一点就是我们以前自己写的认证、授权、加密等 *** 作,换成使用别人写好的框架去实现,逻辑相同,形式各异。
Shiro架构图:
核心组件:
UsernamePasswordToken:Shiro用来封装用户登录信息的类,使用用户登录信息创建令牌Token。
SecurityManager:Shiro的核心部分,负责安全认证和授权。
Subject:Shiro的一个抽象概念,包含了用户信息
Realm:开发者自定义的模块,根据项目需求,验证和授权的逻辑全部写在Realm中。
AuthenticationInfo:用户的角色信息集合,认证时使用。
AuthorzationInfo:角色的权限信息集合,授权时使用。
DefaultSecurityManager:安全管理器,开发者自定义的Realm需要注入到该类中进行管理,方可生效。
ShiroFilterFactoryBean:Shiro过滤器工厂,Shiro的基本运行机制是开发者定义规则,Shiro去执行,而真正落实到去执行对应过滤 *** 作的类就是该工厂产出的Filter对象。
扩展:
为什么学?市面上主流的两大安全框架:Spring Security、Shiro,其中Security的占比会相对更大一些。
优势:
1、开发更便捷:使用Shiro框架可以更快的完成开发,因为框架内部已经帮我们实现了很多东西,不管是通过代理也好,各种过滤器也好,这些我们不用再去考虑,我们只需要会用即可。
2、逻辑统一性:公司业务一般都采用这种安全框架去实现,而不是都自己再去实现,这算是一种相对来讲更规范化的一种开发方式,作用就是达到了逻辑统一,方便别人阅读,同时也可以更好的管理。
3、无需自己实现权限限制:通过在Shiro的配置类中添加白名单,过滤规则,我们可以轻松实现权限控制的效果。
SpringBoot项目整合Shiro过程:暂略~
写在最后通过查看开源项目中的shiro的应用,结合开发文档更好的去理解并使用,尽可能加入自己的项目中。
开源项目bootDo地址:https://gitee.com/lcg0124/bootdo
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)