如何检查某个用户是否具有某个权限对象上定义的某种权限
比如下图这个 ABAP development studi 里创建的角色是为了实现 CDS view DEMO_CDS_AUTH_LIT_PFCG 的权限控制,里面使用到了权限对象 S_CARRID.
假设现在我有一个需求:我想知道用户名 WANGJER 是否具有该权限对象的字段 s_carrid 的显示(03)权限?
在事务码 SU01 里,我只能查看 WANGJER 这个用户到底被赋予了哪些 PFCG 角色。权限对象不是直接分配给用户的,而是通过 PFCG 角色作为一个中间层。
可以通过查表 AGR_USERS 得到一个指定的用户分配了哪些 PFCG 角色。
所以题目开头的需求就转化为这个问题:哪个 PFCG 角色分配了权限对象 S_CARRID?
使用事务码 SUIM 根据权限对象查询 PFCG 角色:
下列 14 个 PFCG 角色都分配了权限对象 S_CARRID:
选择其中一个双击,比如 SAP_QAP_DEVELOPER:
上图意味着如果一个用户被分配了 PFCG 角色 SAP_QAP_DEVELOPER,这个用户就拥有了权限对象 S_CARRID 上定义的 Create,Change 和 Display 的权限:
要获取更多 Jerry 的原创技术文章,请关注公众号"汪子熙":
版权声明: 本文为 InfoQ 作者【Jerry Wang】的原创文章。
原文链接:【http://xie.infoq.cn/article/0d201aa4df8bab459a2a449b9】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论