2025年4月16日 星期三 乙巳(蛇)年 正月十七 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 服务器 > 万维网络 > 中间件

Apache Shiro 其实很好用

时间:12-14来源:作者:点击数:5
CDSY,CDSY.XYZ

Shiro 洗白

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

读 What is Apache Shiro(link:https://www.infoq.com/articles/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 就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成 用户-角色-权限 的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。

CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐