Получение прав пользователя в CRM на Silverlight

Способ получения прав пользователя на конкретную запись в Microsoft Dynamics CRM 2011 (пример на Silverlight с использованием библиотеки SilverCrmSoap).

var userId = new Guid("DF7A9B5D-B0FB-E011-890C-E61F137DE58F");
var entityName = "new_myentity";
var entityId = new Guid("3FA22F05-BA9D-E111-AD62-E61F137DE58F");

bool appendAccess;
bool appendToAccess;
bool assignAccess;
bool createAccess;
bool deleteAccess;
bool readAccess;
bool shareAccess;
bool writeAccess;

var request = new OrganizationRequest { RequestName = "RetrievePrincipalAccess" };
request["Principal"] = new EntityReference { LogicalName = "systemuser", Id = userId };
request["Target"] = new EntityReference { LogicalName = entityName, Id = entityId };
SilverCrmSoap.Helpers.SoapHelper.BeginExecute(request, delegate(IAsyncResult result)
{
   var response = ((IOrganizationService)result.AsyncState).EndExecute(result);
   var rights = (AccessRights)response["AccessRights"];

   appendAccess = rights.HasFlag(AccessRights.AppendAccess);
   appendToAccess = rights.HasFlag(AccessRights.AppendToAccess);
   assignAccess = rights.HasFlag(AccessRights.AssignAccess);
   createAccess = rights.HasFlag(AccessRights.CreateAccess);
   deleteAccess = rights.HasFlag(AccessRights.DeleteAccess);
   readAccess = rights.HasFlag(AccessRights.ReadAccess);
   shareAccess = rights.HasFlag(AccessRights.ShareAccess);
   writeAccess = rights.HasFlag(AccessRights.WriteAccess);
});

About the author

Добавить комментарий

Сказать спасибо

Способ платежа:

Подписаться на обновления

Укажите свой e-mail чтобы получать уведомления о новых статьях.