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

Posted jlfw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检查某个用户是否具有某个权限对象上定义的某种权限相关的知识,希望对你有一定的参考价值。

比如下图这个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的权限:

技术图片

以上是关于如何检查某个用户是否具有某个权限对象上定义的某种权限的主要内容,如果未能解决你的问题,请参考以下文章

如何检查我的ios8自定义键盘扩展是否具有开放访问权限?

如何检查我的 ios8 自定义键盘扩展是不是具有开放访问权限?

Oracle_高级功能 用户角色权限

linux 提权-SUID提权

判断应用是否具有某个权限(例如获取手机联系人的权限)

如何检查模型是不是具有某个列/属性?