V11 SP8
Loading...

Checking for Specific Permissions Using Security Stored Procedures

Stored Procedure

Sec_userHasCapability.sp: Checks whether the user or user group has specific permissions.

Inputs

Name Description Required
userId The user ID for the user. You can retrieve the user ID from the UMUsers table: SELECT id FROM UMUsers WHERE login = 'user_name'. Yes
permissionIdList The list of permission IDs that you want to check. Yes
anyCapability The option to define an AND/OR relationship between the permissions in the permissionIdList input. No

Output

Yes or No depending on whether the user or user group has the permissions.

Sample Query

This query lists checks whether user "u1" has the Agent Management permission:

--sec_userHasCapability.sp
--If you want to check if user u1 has agent management
DECLARE @userId INT = (SELECT id FROM UMUsers WHERE login = 'u1')
DECLARE @permissionIdList VARCHAR(10) = '2' --2 stands for agent management.
DECLARE @isAllowed INT = 0
EXEC sec_userHasCapability @userId, 0, @isAllowed OUTPUT, 0/*return cursor when set to 1 returns the output via a select*/, 0/*AnyCapability*/, @permissionIdList
SELECT @isAllowed