Apache Shiro术语

Apache Shiro术语
花两分钟时间去读这篇文章并且理解这些重要的术语 。这些术语和概念都会出现在后面的文档和api中,理解了这些可以非常容日的理解并保护你的应用程序。

安全框架因为这些术语会变得扑朔迷离,我们通过阐明这些术语让生活变得轻松。你将会看到apahce shrio api多么好的体现这些术语的。

-Authentication(认证)

认证是验证用户身份的动作 ,实质上是证明用户是不是真的是他说的自己谁。当认证成功时应用程序可以相信用户 并保证用户就是应用程序期望的用户。

-Authorization(授权)

授权也被称之为访问控制,是确定一个用户是否有权限去做某件事情的动作。这个动作过程通常是检车并解释用户的角色和权限,同时决定允许或者拒绝获取某个资源或者运行某个功能。

-Cipher(密码)

密码是执行加密或者解密的一个算法。密码算法通常依靠一个称之key(键)的一条信息。加密是在这个key的基础上的,所以没有这个key解密是非常困难的。密码有不同的方法,Block Ciphers(块儿密码)是处理固定长度字符串块的,而(Stream Ciphers )流密码是处理连续不断地流字符串。Symmetric ciphers(对称密码)是加解密都是用同一个key ,Asymmetric ciphers(非对称密码)是用不同的key(键)。在非对称密码中的一个键不能被从另一个中导出,则可以公共共享一个公钥/私键值对。

-Credential(凭据)

凭据是确认用户身份的一条信息。尝试‘authentication’(‘认证时’)时一个关联到用户的凭据会一起被提交。凭据是只有特殊的人才知道而且是非常重要的的,比如密码 或者pgp key ,或者生物识别属性 或者相同的机制。

-Cryptography(加密)

加密是一种通过让信息隐藏或者让信息变成没有意义的方式来免受不当访问的做法,这样以来没有人可以读它。Shiro 关注密码学的两个核心元素:用公钥或者私钥来加密像是邮箱之类数据的密码,和对密码之类的数据进行不可逆加密的(hash)散列。

-Hash(散列)

散列是个单向的,对输入资源不可逆转的转换,有时称之为消息,转换成编码的散列值有时称之为消息摘要。他通常处理密码,数字指纹,或者底层字节数组。

-Permission(权限)

在shiro中解释:他是对应用程序中对功能原始功能的描述,仅此而已。权限是安全策略中最低级别的构造。他只定义应用做’什么’。他不描述‘谁’能执行这个动作。一个权限只是对一个行为的描述,仅此而已。

比如:

·打开一个文件

·访问‘user/list’网页

·打印文件

·删除‘jsmith’这个用户

-Principal(本身)

一个principle是任何可以区分应用中用户的身份的标识。 区分标识可以是用户名,姓名,昵称,社保证号用户id等在应用中有意义的东西。

Shrio 也引用了我们称之为用户primary principal(原principal)的东西。primary principal(原pricipal)是整个应用中独一无二的身份信息。一个理想的原principal是关系性数据库的id,像是用户名或这用户id.

shiro 原principal在应用中只有一个。

-Realm(域)

域是能够获取到应用指定的用户,角色,权限等安全数据的组件。他可以被认为是获取用户安全数据专用的DAO(Data Access Object). 域会把安全专用的数据转换成shiro 能够理解的格式,所以shiro不管有多少个数据源或者你的数据长什么样,都能提供一个简单易懂的api。

Role(角色)

角色的定义可以根据你跟谁交互而变化的。在许多应用中人们使用隐藏的定义是非常好的概念。但shrio更倾向于把角色解释为‘权限’为名的集合。就是把一个或多个权限结合到一起特别的名字。

这相比其他应用中的隐式定义的具体多了。如果你选择你模型体现shiro 的假设,你会发在权限控制策略中拥有更强大的power(力量)。

Session(会话)

会话是一段时间内与应用相互影响的,和一个用户关联的 ,有状态的上下文数据。 当用户使用应用时数据能从会话中添加/读取/被移除,应用有必要时也能使用这些数据。会话当用用户退出或者因为不活动而到期时被终止。

为这些熟悉HttpSession的人,Shrio session同样提供服务。除了会话能用在任何环境中,甚至没有Servlet容器或者EJB容器中的环境中都是可用的。

Subject(主体)

一个subject只是一个花式安全术语,基本上代表应用用户的安全专用‘视图’。虽然一个subject不是一直都有必要代表一个人类,但是能代表调用你应用的外部程序,或者一段时间内间断性执行某些东西的恶意程序账号。他基本上是对应用做一些事情的任何实体的代表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值