加入收藏 | 设为首页 | 会员中心 | 我要投稿 潍坊站长网 (https://www.0536zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

HTTPS建造固若金汤的城堡

发布时间:2021-02-12 16:25:41 所属栏目:外闻 来源:互联网
导读:这个 Sid 大家可以简单理解为当前用户的权限(这个说法不是很准确,可以近似理解)。 ObjectIdentity ObjectIdentity 是一个域对象,这是官方的说法,有点拗口。实际上这就是你要操作的对象。 例如我有一个 User 对象,如果直接去记录能够对 User 对象执行哪些

这个 Sid 大家可以简单理解为当前用户的权限(这个说法不是很准确,可以近似理解)。

ObjectIdentity

ObjectIdentity 是一个域对象,这是官方的说法,有点拗口。实际上这就是你要操作的对象。

例如我有一个 User 对象,如果直接去记录能够对 User 对象执行哪些操作,这就会导致高耦和。所以我们需要对其解耦,将所有需要操作的对象通过 ObjectIdentity 描述出来,这样就能确保权限系统不和具体的业务绑定。

ObjectIdentity 中有两个关键方法,getType 和 getIdentifier。一般来说,getType 方法返回真实对象类的全路径,例如 org.javaboy.acl.model.User,getIdentifier 方法则返回真实对象的 id,通过这两个方法,就能够锁定一个对象。

Acl

看名字就知道,这算是整个系统的核心调度部分。

一个 Acl 对象会关联一个 ObjectIdentity,一个 Acl 对象还拥有一个 Sid,这个 Sid 表示这个 Acl 是属于谁的?属于谁,谁就可以修改甚至删除这个 Acl 对象。

AccessControlEntry

AccessControlEntry 简写为 ACE,一个 AccessControlEntry 对象代表一条权限记录。每一个 AccessControlEntry 都对应了一个 Acl,一个 Acl 对象对应多个 AccessControlEntry,有了这层对应关系,相当于就知道这个权限操作的是哪个对象。

然后 AccessControlEntry 中还包含一个 Sid 和一个 Permission 对象,表示某个 Sid 具备某种权限。

可以看到,Acl+ACE,就描述出来了某个 Sid 可以具备某个 ObjectIdentity 的某种 Permission。

Permission

这个就是具体的权限对象。似乎是受 Linux 影响,它使用了权限掩码,最多支持 232-1 种权限。

Spring Security 种默认定义了五种:

 

不同位置的混入规则


在Vue中,一个混入对象可以包含任意组件选项,但是对于不同的组件选项,会有不同的合并策略。

data 对于data,在混入时会进行递归合并,如果两个属性发生冲突,则以组件自身为主,如上例中的chart属性

生命周期钩子函数

对于生命周期钩子函数,混入时会将同名钩子函数加入到一个数组中,然后在调用时依次执行。混入对象里面的钩子函数会优先于组件的钩子函数执行。如果一个组件混入了多个对象,对于混入对象里面的同名钩子函数,将按照数组顺序依次执行,如下代码:


(编辑:潍坊站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读