我应该如何显示记录并隐藏servicenow中的安全约束消息
How should I display the record and hide the security constraint message in servicenow
让我们想象一下 table 的第一页,其中 60 行被 ACL 隐藏,因此页面显示 40 行,末尾有一条消息说明:"number of rows removed by security constraints: 60"
另一页显示 40 行和类似的消息...
所以我希望页面应该显示 100 行,用户可以访问这些行,这样信息消息 "number of rows removed by security constraints" 就不会出现在页面底部。
我知道的唯一方法是同时编写查询业务规则。一般来说,这种努力是不值得的。
我会说查询业务规则正是您在这种情况下想要的(如果您想限制整个记录)。它们不会在底部显示消息,不会让您浏览 100 页来找到您需要的 10 条记录,并且通常比 ACL 更快(查询 BR 仅被评估一次,而 ACL 必须被评估每条记录)。
如果您的 "u_requested_for" 字段是对用户的引用,则您需要的代码类似于:
if(!gs.hasRole('admin') && gs.isInteractive()){
var q = current.addQuery('u_requested_for', gs.getUserID());
}
让我们想象一下 table 的第一页,其中 60 行被 ACL 隐藏,因此页面显示 40 行,末尾有一条消息说明:"number of rows removed by security constraints: 60"
另一页显示 40 行和类似的消息...
所以我希望页面应该显示 100 行,用户可以访问这些行,这样信息消息 "number of rows removed by security constraints" 就不会出现在页面底部。
我知道的唯一方法是同时编写查询业务规则。一般来说,这种努力是不值得的。
我会说查询业务规则正是您在这种情况下想要的(如果您想限制整个记录)。它们不会在底部显示消息,不会让您浏览 100 页来找到您需要的 10 条记录,并且通常比 ACL 更快(查询 BR 仅被评估一次,而 ACL 必须被评估每条记录)。
如果您的 "u_requested_for" 字段是对用户的引用,则您需要的代码类似于:
if(!gs.hasRole('admin') && gs.isInteractive()){
var q = current.addQuery('u_requested_for', gs.getUserID());
}