Skip to main content
Version: 8.1
View as Markdown

hasRole

This function is used by Ignition's Expression language.

Description​

Returns true if the user has the given role. The username and usersource parameters are optional in the Client scope, but required in the Gateway scope.

Syntax​

hasRole(role[, username][, usersource])

Parameters​

TypeParameterDescription
StringroleThe name of a role.
StringusernameA username. Defaults to the current user. [optional]
StringusersourceThe usersource of the username. Defaults to the usersource of the current user. [optional]
note

When using Perspective, all parameters are required since it's in the Gateway scope. For certain Perspective applications, using isAuthorized is recommended instead.

Results​

Boolean - True if the specified user has the specified role, False if not.

Examples​

Code Snippet
// This is an example using the current user and default userSource in the Client scope:
hasRole("Administrator")
Code Snippet
// This is an example using a username and userSource, as required for Perspective.
hasRole("Administrator", "bob", "default")
Code Snippet
// This example shows how to handle when the Identity Provider and Users, Roles names are not identical.
// If the Identity Provider name is “CompanyIdentity”, but the Users, Roles the IdP points to is “CompanyUsers”,
// include the Users, Roles name as the usersource to avoid receiving an error.
hasRole(“Operator”, {session.props.auth.user.userName}, “CompanyUsers”)