Access Security Role of Current user
function SecurityRole(){
var user_roles_id = Xrm.Page.context.getUserRoles();
var role_names_array = [];
var user_role_names = (function get_role_name_array(role_id_array){
for(var i=0;i<role_id_array.length;i++){
var role_name = (
function get_role_name(role_id){
var req = new XMLHttpRequest();
req.open("GET", Xrm.Page.context.getClientUrl() + "/api/data/v8.2/roles("+role_id+")?$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 name = result["name"];
push_rolename(name)
} else {
alert(this.statusText);
}
}
};
req.send();
})(role_id_array[i]);
role_names_array.push(role_name);
}
return role_names_array;
})(user_roles_id);
if(role_names_array.indexOf("Security Role Name")>-1 ){
return true;
}else{
return false;
}
function push_rolename(roleName){
role_names_array.push(roleName);
}
}
No comments:
Post a Comment