ServiceNow ITSM中对请求者隐藏解决者姓名的可行性咨询
ServiceNow ITSM中对请求者隐藏解决者姓名的可行性咨询
当然可以实现!而且完全不需要依赖全局限制,有好几个精准灵活的方案能满足你的需求,我给你详细拆解下:
字段级ACL控制(最推荐)
你可以针对工单表(比如incident、request)的assigned_to字段(解决者姓名对应字段)创建访问控制列表(ACL),精准管控请求者角色的查看权限:- 新建ACL,类型选
record,操作选read,目标表设为你的工单表; - 条件设置为
gs.getUser().hasRole('requestor')(替换成你系统中请求者对应的真实角色); - 权限设置为拒绝,同时确保客服、管理员等角色的原有ACL不受影响。
这样请求者打开工单时,根本看不到解决者姓名字段,只会显示你允许的工作组信息,完全不会干扰其他角色的正常操作。
- 新建ACL,类型选
自定义别名字段+视图专属配置
- 在工单表新增一个
resolver_display自定义字段,专门存储给请求者展示的别名或工作组信息; - 配置业务规则:当
assigned_to字段更新时,自动将assigned_to.group.name(工作组名称)或者预设的统一别名(比如"IT支持专员")填充到resolver_display字段; - 针对请求者角色创建专属表单视图,在这个视图中只保留
resolver_display字段,移除真实的assigned_to姓名字段。
这种方式下请求者完全接触不到真实姓名,只会看到你配置好的标准化内容,体验很友好。
- 在工单表新增一个
UI脚本动态控制字段可见性
如果需要在现有视图上快速调整,不用新建视图,可以写一段简单的UI脚本,在表单加载时判断当前用户身份:addLoadEvent(function() { // 根据实际的请求者角色/条件调整判断逻辑 if (gs.getUser().hasRole('requestor')) { // 隐藏解决者姓名字段的DOM元素 document.getElementById('element.assigned_to').style.display = 'none'; // 确保工作组字段正常显示 document.getElementById('element.assigned_to.group').style.display = 'block'; } });把这个脚本绑定到工单表的请求者视图上,就能动态控制字段显示状态,完全不需要修改全局配置。
这些方案都能精准控制请求者的可见内容,避开全局限制带来的副作用,你可以根据自己系统的实际配置情况选最适配的一种~
备注:内容来源于stack exchange,提问作者Swastik Paul
相关产品推荐
相关产品推荐

