浅谈Shiro

作者: Bernkastel | 来源:发表于2017-11-27 12:58 被阅读0次

家好,我是IT修真院成都分院第7期的JAVA学员龚剑飞,一枚正直纯洁善良的java程序员。

今天给大家分享一下,一个比较好用的JAVA安全验证框架————Shiro。

1.背景介绍

先介绍下背景

Shiro是什么?

Apache Shiro(读作“sheeroh”,即日语“城”)是一个开源安全框架,提供身份验证、授权、密码和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。

城:じょう、しろ

Shiro的产生背景:Shiro的前身是JSecurity。

2004年,Les Hazlewood和Jeremy Haile创办了Jsecurity。当时他们找不到适用于应用程序级别的合适Java安全框架,同时又对JAAS非常失望。2010年9月22日,Shrio成为Apache软件基金会的顶级项目(TLP)。

Java认证和授权服务(Java Authentication and Authorization Service,简称JAAS)是一个Java以用户为中心的安全框架,作为Java以代码为中心的安全的补充。自Java运行环境(JRE) 1.4起,JAAS就被集成到JRE,而之前是作为一个扩展库由Sun公司提供的。

2.知识剖析

Shiro的几个术语

Subject

SecurityManager

Relam

Role&Permission

Subject

Subject:主体,代表了当前“用户”,这个用户不一定是一个具体的人,与当前应用交互的任何东西都是Subject,如网络爬虫,机器人等;即一个抽象概念;所有Subject都绑定到SecurityManager,与Subject的所有交互都会委托给SecurityManager;可以把Subject认为是一个门面;SecurityManager才是实际的执行者;

SecurityManager

安全管理器;即所有与安全有关的操作都会与SecurityManager交互;且它管理着所有Subject;可以看出它是Shiro的核心,它负责与后边介绍的其他组件进行交互,如果学习过SpringMVC,你可以把它看成DispatcherServlet前端控制器;

Relam

Realm:域,Shiro从从Realm获取安全数据(如用户、角色、权限),就是说SecurityManager要验证用户身份,那么它需要从Realm获取相应的用户进行比较以确定用户身份是否合法;也需要从Realm得到用户相应的角色/权限进行验证用户是否能进行操作;可以把Realm看成DataSource,即安全数据源。

Role&Permission

角色与权限:一个角色可以对应多个权限。Shiro验证有两种方式。

3.常见问题

①、使用Shiro的好处是什么?

②、如何使用Shiro?

4.解决方案

①、Shiro可以使项目的验证架构更加完善,扩展性强

②、别说话,看我操作

5.编码实战(略)

6.扩展思考

提问:Shiro比拦截器好在什么地方?

:shiro的架构更健硕

提问:Shiro是如何进行身份验证的?

:Shiro的Relam里面有个钩子函数,当需要验证时,会回调那个钩子函数,通过与Relam里面存储的内容对比来验证

提问:Shiro和SpringSecurity有什么区别

:我只知道SpringSecurity的功能更多,配置也要复杂些,而且需要Spring-core至少在4.1.1以上

SpringSecurity,是Spring框架的一个分支,主要也是解决验证登录权限问题,可是需要Spring4.1以上的版本,无奈我们项目用的框架只支持低版本3.1.1.Release

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

技能树.IT修真院“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~我的邀请码:13869506,或者你可以直接点击此链接:http://www.jnshu.com/login/1/13869506

PPT地址:PPT

视频:


undefined_腾讯视频

相关文章

  • 浅谈shiro

    本篇文章主要是对权限框架shiro的一个小总结。写的不对的地方或者哪里需要修改的欢迎大家给出意见。 shiro是什...

  • 浅谈Shiro

    家好,我是IT修真院成都分院第7期的JAVA学员龚剑飞,一枚正直纯洁善良的java程序员。 今天给大家分享一下,一...

  • 权限管理框架--Shiro

    1.shiro概述 1.1shiro是什么 1.2shiro能做什么 1.3Shiro特性 1.4shiro架构 ...

  • SpringBoot+Shiro+JWT

    SpringBoot+Shiro+JWT 一、Shiro 1、什么是shiro? Apache Shiro是一个强...

  • Java框架--Shiro入门

    目录 shiro 是什么? shiro 可以解决什么问题? shiro 名词解释&认证流程 shiro 快速入门 ...

  • Shiro入门

    Shiro 什么是Shiro? Apache Shiro 是一个Java的安全框架。 关于shiro的相关概念: ...

  • springboot + shiro +cas 集成

    shiro 认证流程图: shiro 授权流程图: shiro 认证时序图: shiro + cas 认证时序图:...

  • Shiro安全框架

    Shiro Session管理Shiro 缓存管理Shiro集成SpringShiro集成SpringBoot:h...

  • Apache Shiro 是什么 & Shiro 框架介绍

    Apache Shiro 是什么 & Shiro 框架介绍 官方介绍 Apache Shiro™ is a pow...

  • 20170927-shiro 集成spring(四)

    前景提要:shiro 集成spring(一)shiro 集成spring(二)shiro 集成spring(三) ...

网友评论

    本文标题:浅谈Shiro

    本文链接:https://www.haomeiwen.com/subject/pzdrbxtx.html