|
本帖最后由 ghostljj 于 2015-7-10 17:04 编辑
根据我的理解,希望能帮助到大家
role表 是权限列表。
roleMapping 关联权限(例如那个用户在那个权限里面,或者权限里面包含那个权限)
roleMapping的数据不能单独添加。必须在role表中的principals里面双击关联,
例如
1、在role表中添加一个name=管理员,点击principals进入roleMapping子表,principalType=USER,principalId=[会员id]
2、在role表中添加一个name=普通会员,点击principals进入roleMapping子表,principalType=USER,principalId=[会员id],
再点击普通会员的principals进入roleMapping子表,principalType=ROLE,principalId=[role表中管理员的id]
这样就建立了一个管理员和普通会员
首先解释几点:
权限总共是有四种:(就是设置表权限的右边那个)
第一种是所有用户都可以的everyone(所有用户都拥有该权限 )
第二种是只有用户自己才能有权限的owner(仅登录用户拥有该权限)
第三种是角色限制,可以嵌套角色,需要设置role表中的name而非id
第四种是用户限制,这个就没有可说的了。
owner设置中需要注意的一些地方,判断是否为owner的方法是,用户登录完后会在accessToken里边增加一条信息,里边有登录用户的userId。然后每次携带token进行访问的时候如果是owner权限的设置,就比对当前数据与id或者userId是否相同(user表的时候对比id,其他表对比的是userId),所以如果要使用owner权限需要新加一列userId字段(注意大小写,而且是string类型,不是pointer类型)。
注意:owner权限只能用在get、update、delete上。如果用在find下面,根本无法查询到表。所以不行。
例如_user 表,就是owner权限,可以参考看下。
二三四的关系是或的关系,这样就增加了权限设置的灵活性,例如信息只能自己或者自己的上级领导可以修改,就可以设置owner+role或user限制
谢谢 数据云咨询-北 提供的帮助。总结出来让那个好多人能了解。
|
|