Shiro学习笔记

Shiro学习笔记,第1张

目录 

是什么?

为什么学?

怎么学?


是什么?

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/788710.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存