Update CRM 2011 Access Right Programmatically

烂漫一生 提交于 2019-12-08 08:57:36

问题


I would like to know if there is some way to update an Access Right in CRM 2011.

Let's say I have an Access Right named Marketing Manager which has user level privilege to create Account, I'd like to change this privilege to Organization level programmatically.

I'm waiting hopefully,

Thanks in advance


回答1:


Please have a look at the code below. However it actually copy Role Privileges from existing Role to new Role. But I think it can give you an idea.

Guid existingRoleId = new Guid("C85F0FFF-4C80-E211-A877-1CC1DE79B4CA");
Guid newRoleId = new Guid("B6690FFF-4C80-E211-A877-1CC1DE79B4CA");

// Step 2
RetrieveRolePrivilegesRoleRequest getPrivilagesRequest = 
                 new RetrieveRolePrivilegesRoleRequest();

getPrivilagesRequest.RoleId = existingRoleId;
RetrieveRolePrivilegesRoleResponse privilagesResponse = 
         (RetrieveRolePrivilegesRoleResponse)service.Execute(getPrivilagesRequest);

if (privilagesResponse != null && privilagesResponse.RolePrivileges != null)
{
    // Step 3
    AddPrivilegesRoleRequest addPrivilagesRequest = new AddPrivilegesRoleRequest();
    addPrivilagesRequest.Privileges = privilagesResponse.RolePrivileges;
    addPrivilagesRequest.RoleId = newRoleId;
    AddPrivilegesRoleResponse addPrivilagesResponse = 
            (AddPrivilegesRoleResponse)service.Execute(addPrivilagesRequest);
}

Ref: Copy a security role programmatically – CRM 2011

Link 2



来源:https://stackoverflow.com/questions/18959505/update-crm-2011-access-right-programmatically

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!