如何解决查找授权对象 S_SERVICE 所需的核心数据/OData 服务的usob哈希参数 SRV_NAME
要访问从 SAP R/3 中的核心数据服务 (CDS) 公开数据的 OData Web 服务,用户必须分配一个包含授权对象 S_SERVICE
的授权角色。
授权对象S_SERVICE
需要两个参数:
- 在我的例子中设置为
SRV_TYPE
= "TADIR Object" 的 服务类型 (HT
) -
服务哈希 (
SRV_NAME
)。
使用我发现的调试器,函数模块 AUTHORITY_CHECK_TADIR_SERVICE
将来自 S_SERVICE
授权对象的哈希值与存储在表 usobhash
记录中的哈希值进行比较:
我还发现,函数模块AUTH_TRACE_CALC_HASH
使用表pgmID
中OBJECT
、OBJ_NAME
和usobhash
列的数据作为输入来生成然后存储在列 NAME
中的哈希。
到目前为止,每当我想授予用户/角色访问 OData 服务的权限时,我都需要知道这个哈希。为了获取哈希,我要么检查usobhash 表,要么手动执行AUTH_TRACE_CALC_HASH
,然后在将授权对象分配给事务pfcg
中的授权角色时输入哈希。我想必须有一种更简单、更“官方”的方式来做到这一点。我的方法感觉像是一种肮脏的解决方法,但我找不到任何有关如何正确执行此操作的文档。
tl;dr 如何在不调试 S_SERVICE
或搜索 AUTH_TRACE_CALC_HASH
中的相关条目的情况下设置 usobhash
授权对象?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。