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对不同类型数据的存储方式和位置的不同。