【发布时间】:2016-01-19 00:27:01
【问题描述】:
我正在使用 ServiceNow Rest Api。当用户提供用户名和密码以连接到其余 api 时,我需要验证用户是否可以在 sys_user 表中添加/删除(管理用户)用户。我该如何进行检查?
我指的是以下 Get table Rest api 请求,以检查用户是否具有必要角色,
https://.service-now.com/api/now/table/sys_user_has_role?sysparm_fields=role%2Crole.name%2Cuser%2Cuser.name%2Cuser.sys_id%2Cuser.department& sysparm_query=role%3D3d43716d0f6002003a2d47bce1050e0d%5EORrole%3Dac73b52d0f6002003a2d47bce1050eec&sysparm_display_value=true
我需要检查哪些角色?还是有更简单/更好的方法来执行此操作(查找表权限)?
【问题讨论】:
-
我不确定我是否理解您的问题。 sys_user 表本身受 ACL 保护,确保访问它的任何人,无论是从主用户界面还是通过 Web 服务,都有权进行更改。所以从这个角度来看,你不需要从 REST API 做任何特别的事情来验证用户是否有权限。您只需要确保在 sys_user 表中以对您的用例有意义的方式定义 ACL。我相信开箱即用的 ACL 只允许具有“管理员”角色的用户更改 sys_user 表。
-
在此处提出了一个相关问题:community.servicenow.com/message/1083838#1083838... 即 REST 文档暗示具有 REST 角色的帐户没有每个用户的权限。
标签: servicenow