How to create ACL to restrict visibility of a field so that some users and groups can view this field

Nikita40
Tera Contributor

I want to create an ACL for cmdb_ci_server table so that for a field, for which I need to restrict visibility so some users and groups will be able to see that field. So How can I create script in ACL to add this users and groups ?

Thanks in advance.

1 ACCEPTED SOLUTION

Hi,

So it should be shown when logged in user is member of CAB Approval or that logged in user is present in list of sys_ids in that system property

Is that system property holding multiple user sys_ids with comma separation

then update as this

answer=false;

if(gs.getUser().isMemberOf('CAB Approval') || gs.getProperty('cmdb_ci_server.os.user.visibility').indexOf(gs.getUserID()) > -1 )
{
answer=true;
}
else{
answer=false;
}

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

View solution in original post

25 REPLIES 25

Still, that field is read only to other users also from list view

All the ACL which are applied to cmdb_ci table will be they also applied to child tables like server one?

 

Hi,

if child tables have their own ACLs they will be evaluated first

Did you see that field is visible on the form view or not?

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Hi,

That field is visible on form and list view also.

Regards,

Nikita

Hi,

There is another ACL on same table for write operation as follow:

var answer = false; 
if(gs.hasRole('admin') ){
answer = true; 
}
else if(gs.getUser().isMemberOf('GroupName') )
answer = true;

 

If this ACL fails then it makes for all user those fields as readonly on list view and form view.

 

Regards,

Nikita