logo

NJP

Check if user has a specific role in server side script

Import · Dec 13, 2021 · article

In Server side side we can use gs.hasRole("itil") to know if the logged in user has "itil" role. But this has an issue as for an admin it will return always true.

Instead use the below script to check the role

Script Include: userRoleUtility

var userRoleUtility = Class.create();userRoleUtility.prototype = { initialize: function() {

},

hasRole: function(user,role){var userRole = new GlideRecord('sys_user_has_role');

userRole.addEncodedQuery('role.name='+role+'user='+user);

userRole.query();if(userRole.next()){return true;}else{

return false;

}},type: 'userRoleUtility'

};

Server side script Usage

var user= new userRoleUtility();

gs.info(user.hasRole(gs.getUserID(),"itil"));

image

View original source

https://www.servicenow.com/community/now-platform-articles/check-if-user-has-a-specific-role-in-server-side-script/ta-p/2320629