Description:
In this example, we explain that how to get logged in user role in Dynamic 365 CRM.or how to get security role name for logged-in user in Dynamic CRM using XRM.or how to retrieving login user security roles in Dynamic CRM.or how to get role name of current user in Dynamic CRM using JavaScript. Alternatively, get current logged in user’s security role using JavaScript.so below is the JavaScript code with XRM will used to get or retrieve current logged in user role in Dynamic CRM.
Code:
In this example, we explain that how to get logged in user role in Dynamic 365 CRM.or how to get security role name for logged-in user in Dynamic CRM using XRM.or how to retrieving login user security roles in Dynamic CRM.or how to get role name of current user in Dynamic CRM using JavaScript. Alternatively, get current logged in user’s security role using JavaScript.so below is the JavaScript code with XRM will used to get or retrieve current logged in user role in Dynamic CRM.
function CheckUserRole() {
var
currentUserId = Xrm.Page.context.getUserId();
var
currentUserRoles = getCurrentUserRoles(currentUserId);
}
// Get
Roles of User only
function
getCurrentUserRoles(currentUserId) {
var
userId = currentUserId.slice(1, -1);
var
req = new XMLHttpRequest();
req.open("GET",
Xrm.Page.context.getClientUrl() + "/api/data/v8.2/systemuserrolescollection?$select=roleid&$filter=systemuserid
eq " + userId + "", true);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json;
charset=utf-8");
req.setRequestHeader("Prefer", "odata.include-annotations=\"*\"");
req.onreadystatechange = function () {
if
(this.readyState === 4) {
req.onreadystatechange = null;
if
(this.status === 200) {
var
results = JSON.parse(this.response);
for
(var i = 0; i < results.value.length; i++) {
var userRoleId = results.value[i].roleid;
var
userRoleName = GetRoleName(userRoleId);
}
} else
{
Xrm.Utility.alertDialog(this.statusText);
}
}
};
req.send();
}
//Get
Rolename based on RoleId
function
GetRoleName(roleId) {
var
req = new XMLHttpRequest();
req.open("GET",
Xrm.Page.context.getClientUrl() + "/api/data/v8.2/roles("
+ roleId + ")?$select=name", false);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json;
charset=utf-8");
req.setRequestHeader("Prefer", "odata.include-annotations=\"*\"");
req.onreadystatechange = function () {
if
(this.readyState === 4) {
req.onreadystatechange = null;
if
(this.status === 200) {
var
result = JSON.parse(this.response);
var
roleName = result["name"];
alert(roleName);
} else
{
Xrm.Utility.alertDialog(this.statusText);
}
}
};
req.send();
}
Fabulous post
ReplyDelete