一、创建权限对象
-
权限分配:
授权对象层次关系:授权对象分类—授权对象—授权对象字段
-
SE11 创建域、数据元素应用域
-
SU20 建立授权对象字段
![](https://img-blog.csdnimg.cn/b8be6b215f9e479592680ab170f27a12.png)
-
SU21 建立对象类
![](https://img-blog.csdnimg.cn/9284bdd89d044c11ad9b0bbc7b51b070.png)
-
SU21 建立授权对象 添加授权对象字段
![](https://img-blog.csdnimg.cn/8d76ebd20eae4458958aba6d43148c1a.png)
![](https://img-blog.csdnimg.cn/d9d5c281250844a29af1f4dbdb70e1c1.png)
-
SE38创建权限检查程序或者SM30创建维护视图——SE93创建对应程序或者视图的事务代码
-
SU24—权限对象分配事务代码
![](https://img-blog.csdnimg.cn/044fcc696b9e468a9cc76058453a6b2e.png)
![](https://img-blog.csdnimg.cn/a30e8f6da5944efdbfdced609eec33b9.png)
![](https://img-blog.csdnimg.cn/2aaa954a91b841829a105e3e98e14d6c.png)
权限对象分配好后,点击保存需要挂在请求下
维护权限值
-
SU01 建立用户、 PFCG 建立角色 联系到用户 分配权限
![](https://img-blog.csdnimg.cn/c3d160d9cdcd4e8ea1b80a4c29ac3402.png)
菜单创建修改
![](https://img-blog.csdnimg.cn/b35591d8d830475fbc7e989922e548af.png)
权限创建修改
![](https://img-blog.csdnimg.cn/f499f9d377644feda614d769f17a4ba3.png)
![](https://img-blog.csdnimg.cn/af8fabec9c3743a09a662291060a6e64.png)
用户创建修改-【加号用户需要点击用户比较】
![](https://img-blog.csdnimg.cn/8c8159111df24f1598c1bde4ed3e73b6.png)
工作台权限对象调用函数:
AUTHORITY-CHECK OBJECT 'ZPP002'
ID 'ACTVT'
DUMMY.
CHECK SY-SUBRC = 0.
示例:
![](https://img-blog.csdnimg.cn/96262322fe1946318d7bab83362d23c0.png)
查看权限对象所对应的哪些角色:SUIM
查询是否有此权限
函数:
CALL FUNCTION '
GET_AUTH_VALUES'
* EXPORTING
* OBJECT1 = ' '
* OBJECT2 = ' '
* OBJECT3 = ' '
* OBJECT4 = ' '
* OBJECT5 = ' '
* OBJECT6 = ' '
* OBJECT7 = ' '
* USER = ' '
TCODE =
SY-TCODE
TABLES
values =
* EXCEPTIONS
* USER_DOESNT_EXIST = 1
* OTHERS = 2
.
权限配置检查:
T-CODE—SU53
![](https://img-blog.csdnimg.cn/67dcca3b408f4d87b97f124190dd6161.png)
与用户、角色、参数、权限对象相关的表:
USR21—用户名/地址键值分配
AGR_USERS—分配角色到用户——AGR_TEXTS—角色描述
AGR_TCODES—将角色分配到事务代码
UST04—用户主【用户名对应的权限参数文件】
ACE权限总结:
如果单据因ACE权限未查询到则先查看T-CODE——ACE_RUNTIME是否有权限
![](https://img-blog.csdnimg.cn/3f90327c49e84ec3bc34795328e3293f.png)
如果没有请刷新ACE权限
T-CODE——ACE_UPDATE
![](https://img-blog.csdnimg.cn/fcc83ef0a9ff40f5b10d45e376102ced.png)
点开用户——再点击更新所选用户的上下文(对象、类)
![](https://img-blog.csdnimg.cn/4883be65aac14193bc53e096633f2e45.png)
同样点中回复对象的单据——点击更新所选用户的上下文
然后再去ACE_RUNTIME是否已存在
BP——ACE权限
![](https://img-blog.csdnimg.cn/1e67652b93564b5ea3c660a26c938126.png)
跳过ACE权限检查
zcl_les_auth_check=>skip_order( iv_guid ). "跳过权限检查
CALL METHOD zcl_les_ace_realtime=>push_obj_guid
EXPORTING
iv_obj_guid = iv_guid.
ZLES_ACE_FCT——ACE 合作伙伴功能单据控制表
ZLESBF_CONTROLT 无组织架构权限的单据类型:AT_ACE1_OBF_FILTER
![](https://img-blog.csdnimg.cn/6708c6fd5e9e4e64a35433376a12ce3e.png)
ACE权限类型:
ZLES_ZD_ACE08
第一步:
CODE:
ACE_RUNTIME 查看此单据受那些ACE权限对象控制
![](https://img-blog.csdnimg.cn/0f11555aff8d4d6d864b28e9e03e3d98.png)
查询用户是否有此ACE权限表:
AGR_USERS
![](https://img-blog.csdnimg.cn/4e77145da01e472f8f2b1ffafcec91de.png)
查看ACE权限控制程序内容:ZCL_LES_ACE_AF*
![](https://img-blog.csdnimg.cn/a4dd555227fe48099550ad945a9a8fa6.png)
增加ACE权限对象后
运行程序:
ZLESR_ACE_UPDATE_USER_CONTEXT
更新ACE
![](https://img-blog.csdnimg.cn/4ce55baa45be4e5bb6b6e959ce8d05f4.png)