如何检查某个用户是否具有某个权限对象上定义的某种权限

比如下图这个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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

posted @ 2018-03-05 17:38  JerryWang_汪子熙  阅读(2205)  评论(0编辑  收藏  举报