权限问题FAQ原创
金蝶云社区-李品
李品
18人赞赏了该文章 1,874次浏览 未经作者许可,禁止转载编辑于2020年05月10日 12:21:14

经常被问到一些权限的问题,我把这些FAQ整理如下,希望对有同样疑问的人有帮助。

注意以下问题,都是有时限的,可能随着BUG修复或者需求调整等,回复可能不准确。

另外,以下都是我从开发角度所写,如果有不正确的地方,欢迎批评指正。


本文初始写于 2020-05-10


一、功能权限树中云,应用,实体,权限项这些节点是怎么排序的?

答:

用户直接授权和角色授权等的左树(功能权限树)中,包含四个层级,分别是云,应用,实体,权限项。(注意实体是指实体表单,不是菜单,不是布局型表单)


1、云:云上有 序号(seq)这个属性,按这个属性来升序排列。

2、应用:应用上有 序号(seq)这个属性,按这个属性来升序排列。

3、实体:一个应用的左侧会有很多菜单,每个菜单和一个实体表单对应,实体节点在树上的顺序先按应用下的菜单顺序出现,然后剩下没有在菜单上的实体表单,按首字的拼音序 升序排列。

4、 权限项:按权限项ID升序排。


二、什么是 “权限发布应用”?  一个表单发布应用后如何验权。 

答:详情请看《关于权限发布应用.docx》


三、为什么应用中心(即首页顶部的应用页签下)下没有某个应用卡片?

答:

1、这个应用必须可见,已启用。

2、当前用户的类型(在人员中可以查看当前用户类型,如供应商,客户,职员)是否符合 这个应用的 适用用户类型?(这个属性在应用属性中可以查看)   如果不符合则肯定不显示。

3、这个应用如果是全员应用,则不验权,会显示,否则需要验权。

4、当前用户需要拥有这个应用的权限。这是指:

  • 该应用必须至少有一个表单  “需验权”(需验权是指这个表单在设计器中开启了权限控制,并且至少绑定了一个权限项);

  • 当前用户拥有这个应用至少一个“需验权”表单的权限。


当用户对某个应用下没有任何一个“需验权”表单的权限时,当前用户想进入某个应用就会报无权。(例如通过页右上角搜索访问,或者直接点击应用中心的应用卡片时)


四、为什么 用户直接授权 或 角色授权中的 左树(功能权限树) 没有某个云,应用,或实体的节点?

答:按照以下检查项检查:

1、这个云下是否至少有一个应用?  如果一个应用都没有,云自然不出现。

2、这个应用是否已启用?  如果未启用,这个应用肯定不出现。  

3、这个应用是否全员应用?  如果是, 这个应用肯定不出现。

4、这个应用下是否至少有一个可授权的表单? (什么是可授权表单?  就是  这个表单在表单设计器中,打开了权限控制开关并且绑定了至少一个权限项。) 如果一个都没有,这个应用肯定不出现。  

5、这个表单是否至少绑定了一个权限项?   如果一个权限项都没绑定,这个表单肯定不出现。

6、这个表单是否关闭了权限控制开关? 如果是,肯定不出现。

7、这个表单的权限控制类型是否是“组织", 或者“空”?

如果不是,肯定不会出现在系统云基础服务的授权功能中,不过其他应用的授权功能(如其他业务组复用我们基础的)可能会显示。(详情可以看 “权限隔离维度”相关内容)

8、这个表单是否 是一个模板表单?如果是,这个表单肯定不会出现。



五、为什么有时出现升级后“权限丢失”的现象?

答:这里提供其中一种情况的解释:


生产环境偶尔出现的“权限丢失”(其实不是真的丢失),有时是以下这个原因:

(详情可以看 “权限隔离维度”相关内容)

授权和验权是支持一个表单按不同应用验权的。(这个特性1.0以来就有,发布很久的了)

例如表单A属于原生应用X,但通过菜单需要挂到应用Y下。


如果不需要按不同的应用来验权,那么只需要在授权时,分配应用X下的A即可。


但如果需要按不同的应用来验权,就需要对这个表单做 “发布应用” 的处理(在开发平台-表单设计器中配置),

发布后,在授权的界面中, 功能权限树下,原生应用X下面有A,应用Y(发布应用)下也有A。


这时应用Y下去打开A时,就会验证当前用户有无授权应用Y下的A,如果没有,则报无权。


从目前掌握的情况来看,就是有开发 把表单A做了发布,发布了应用Y。

但是应用Y下也需要再做授权这个事,却没有知会客户,导致报无权。

客户使用过程就以为是权限丢失了,其实不是。


六、一个人的权限范围是怎么判断的?

答:

一个人的权限范围等于  用户直接授权  +   用户的角色权限 - 用户禁用的权限


用户的角色权限 = 用户分配了的通用角色 + 业务角色。


其中,通用角色可以通过用户分配角色,或者角色管理的“分配组织用户"或”分配用户组织“  等两个角度的授权)

用户分配的通用角色权限范围 =  分配的多个通用角色的权限  -    用户分配角色中禁用的权限   


用户分配的业务角色权限范围 =   组成业务角色的N个通用角色的和 +  业务角色中补充授权  -   业务角色中禁用授权

用户禁用的权限:在用户分配角色中禁用了的权限,以及用户分配的业务角色中禁用了的权限。


七、轻分析中可以从苍穹的表单中建立数据源,一个人能选到的实体范围是怎么确定的?

答:

这个范围除了上述提到一个人的权限范围对应的表单实体,还包括

1、全员应用下的所有表单实体;

2、不需要权限控制的表单实体(表单设计器中没有打开权限控制开关,或者 绑定的权限项为空的表单)


八、首页用户个人信息界面中的切换业务单元的弹出框中的业务单元范围是怎么样的?

答:

切换组织中的业务单元范围 =   用户直接授权中的业务单元 +  角色授权中的业务单元  + 用户在人员的部门分录中的行政组织(这些行政组织是业务单元的才算)

角色授权中的业务单元 =  用户分配通用角色中的业务单元 +  用户在分配业务角色的业务单元。


另外,注意其实切换业务单元和验权没有直接关系,切换业务单元一般是用于新增表单时,表单上的主业务组织的默认值设置而已。



赞 18