if(currentUserHasRole('GICSA Administrador Cuentas por Cobrar')){
alert("Pertenece a GICSA Administrador Cuentas por Cobrar");
}else{
alert("No pertenece GICSA Administrador Cuentas por Cobrar");
}
Función para obtener el GUID del Usuario actual
function getUserId(){
try {
var command = new RemoteCommand("SystemUser", "WhoAmI", "/MSCRMServices/"); var oResult = command.Execute();
if (oResult.Success) {
return oResult.ReturnValue.UserId;
}
}
catch(e) {
alert("Error while retrieving userid.");
}
return null;}
Función que obtiene los roles del usuario actual
function getUserRoles(userId){
try {
var command = new RemoteCommand("UserManager", "GetUserRoles"); command.SetParameter("userIds", "
var oResult = command.Execute();
if (oResult.Success) {
return oResult.ReturnValue;
}
}
catch(e)
{
alert("Error while retrieving roles.");
}
return null;}
Función que busca si el usuario UserId tiene un rol específico
function userHasRole(userId, roleName){
result = getUserRoles(userId);
if (result != null) {
var oXml = new ActiveXObject("Microsoft.XMLDOM");
oXml.resolveExternals = false;
oXml.async = false;
oXml.loadXML(result);
roleNode = oXml.selectSingleNode("/roles/role[name='" + roleName + "']");
if (roleNode != null) {
if (roleNode.selectSingleNode("roleid[@checked='true']") != null)
return true;
}
}
return false;
}
Función para saber si un usuario actual tiene un rol específico
- devuelve true,false
function currentUserHasRole(roleName){
var userId = getUserId();
return userHasRole(userId, roleName);
}
Saludos
No hay comentarios:
Publicar un comentario