Apache Shiro 其实很好用

发布于 2022-09-22 00:41:46 字数 2479 浏览 177 评论 0

Shiro 洗白

维基百科这么说:Apache Shiro(读作 sheeroh,即日语 城)是一个开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。我随即谷歌一下关键字 日语 shiro,真是以讹传讹,明明是白色的意思,不知道从哪里开始变成 的意思了。白色白(しろ= shiro)ホワイト(White)黑色黒(くろ= kuro )ブラック(Black)红色赤(あか= aka )レッド(Red)

What is Apache Shiro 有感

  1. JAAS 缺点很多:绑定了 JVM 底层概念、依赖容器或者有状态EJB、到处都是烦人 Checked 异常(哈哈哈,Checked 异常必须显式 catch,否则编译报错啊)。
  2. Shiro 好处很多:灵活、易用、易理解、可插拔、WEB 支持好。还提到 POJO-compatible 的配置机制,真的不错哦。

Shiro 短史

  1. 2004年,Les Hazlewood 和 Jeremy Haile 创办了 Jsecurity。
  2. 2008年,JSecurity 项目贡献给了 Apache 软件基金会(ASF),并被接纳成为 Apache Incubator 项目。期间,Jsecurity 曾短暂更名为 Ki(读作 Key),随后因商标问题被社区更名为 Shiro。
  3. 2010年7月,Shiro 社区发布了 1.0 版。
  4. 2010年9月22日,Shrio 成为 Apache 软件基金会的顶级项目。

可见,历史还是很悠久的,都15岁了。

Shiro 的那些让人记不住的名词

Subject 卤猪蹄

理解框架,首先的理解概念,Shiro的概念挺好理解,就是名字取得差劲了点。什么Subject, Realm,跟单词本身含义一点都挂不上边。

Subject 表示 当前的操作用户,在安全领域,术语 Subject 可以是人,也可以是第三方进程、后台帐户(Daemon Account)或其他类似事物。它仅仅意味着 当前跟软件交互的东西。这些解释跟 Subject 这个词感觉靠不上边,所以每次看完隔一段时间,就记不起来了 Subject 是个啥意思。所以,换个方式:Subject -> 主题 -> 猪蹄,所以从卤猪蹄开始理解 Shiro 的概念。

Realm 真的么

Realm,单词本身是领域、范围的意思,在 Shiro 里面则是桥梁、连接的意思。Realm 充当了 Shiro 与应用安全数据间的 桥梁 或者 连接器。也就是说,当切实与像用户帐户这类安全相关数据进行交互,执行认证(登录)和授权(访问控制)时,Shiro 会从应用配置的Realm中查找很多内容。记不住的话,就记得 real+m(真的么?)你说的你是谁你要去哪里,都是真的么。

Authentication/Authoriztion 认证/授权

就是简单的 你是谁(认证,是不是你)和 你要到哪里去(授权,能不能去),两个词经常容易混淆。Authentication 简称 Authc,Authorization 简称 Authz,对了,必须先认证然后才是授权,所以按照字母顺序,应该是 Authc 然后是 Authz,一下子记住了吧。

RBAC(Role-Based Access Control)基于角色的访问控制

RBAC 就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成 用户-角色-权限 的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

亢潮

暂无简介

文章
评论
27 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文