不同类型authority的获取

来源:互联网 发布:枫叶之国加拿大 知乎 编辑:程序博客网 时间:2024/05/29 16:59

authority的类型有

ADMIN
USER
GROUP
OWNER
EVERYONE
GUEST
ROLE

在通过AuthorityService获取这些类型的authority的时候,

ADMIN、EVERYONE和GUEST返回的是固定的值
分别对应在PermissionService中定义的 ROLE_ADMINISTRATOR、GROUP_EVERYONE、guest,这里直接给出的是值不是常量声明。

USER是通过personService返回的person。通过关联node和properties表,根据properties中USerName属性条件找出person。
这是alfresco的实现,其实可以通过qname为person也可以,而且避免了表关联。alfresco的实现忽略了person没有userName属性的节点。

OWNER返回空集合。

GROUP和ROLE是通过获取默认的authorityContainer(node 5)然后遍历所有子节点,通过判断Type分别获取Role和Group的。

 

通过上面的分析,可以得到alfresco对不同类型数据的存储方式和位置的不同。