Partager via


RetrieveUserPrivilegeByPrivilegeNameRequest Class

Definition

Contains the data to retrieve a list of privileges for a system user (user) has through their roles, and inherited privileges from their team membership, based on the specified privilege name.

public ref class RetrieveUserPrivilegeByPrivilegeNameRequest sealed : Microsoft::Xrm::Sdk::OrganizationRequest
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/crm/2011/Contracts")]
public sealed class RetrieveUserPrivilegeByPrivilegeNameRequest : Microsoft.Xrm.Sdk.OrganizationRequest
[<System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/crm/2011/Contracts")>]
type RetrieveUserPrivilegeByPrivilegeNameRequest = class
    inherit OrganizationRequest
Public NotInheritable Class RetrieveUserPrivilegeByPrivilegeNameRequest
Inherits OrganizationRequest
Inheritance
RetrieveUserPrivilegeByPrivilegeNameRequest
Attributes

Examples

The following example shows how to use this message. For this sample to work correctly, you must have an authenticated connection to the server with a client that implements the IOrganizationService interface instance.

/// <summary>
/// Writes details about current user privileges to the console
/// </summary>
/// <param name="service">Authenticated client implementing the IOrganizationService interface</param>
/// <param name="privilegeName">The name of the privilege.</param>
/// <returns></returns>
static void OutputUserPrivilegeDetails(IOrganizationService service,
string privilegeName)
{
    // Get the ID of the current user.
    Guid currentUserId = ((WhoAmIResponse)service.Execute(new WhoAmIRequest())).UserId;

    var request = new RetrieveUserPrivilegeByPrivilegeNameRequest
    {
        PrivilegeName = privilegeName,
        UserId = currentUserId
    };

    var response =
        (RetrieveUserPrivilegeByPrivilegeNameResponse)service.Execute(request);

    foreach (RolePrivilege rp in response.RolePrivileges)
    {
        Console.WriteLine($"{privilegeName} details:");
        Console.WriteLine($"PrivilegeId:{rp.PrivilegeId}");
        Console.WriteLine($"BusinessUnitId:{rp.BusinessUnitId}");
        Console.WriteLine($"Depth:{rp.Depth}");
    }
}

Example Output:

prvCreateAccount details:
PrivilegeId:d26fe964-230b-42dd-ad93-5cc879de411e
BusinessUnitId:38e0dbe4-131b-e111-ba7e-78e7d1620f5e
Depth:Global

Remarks

More information: Verifying access in code

For the Web API use the RetrieveUserPrivilegeByPrivilegeName function.

Usage

Pass an instance of this class to the Execute(OrganizationRequest) method, which returns an instance of RetrieveUserPrivilegeByPrivilegeNameResponse.

Privileges and Access Rights

To perform this action, the caller must have privileges on the Privileges entity and access rights on the record specified in the UserId property.

Constructors

RetrieveUserPrivilegeByPrivilegeNameRequest()

Initializes a new instance of the RetrieveUserPrivilegeByPrivilegeNameRequest class.

Properties

ExtensionData

Gets or sets the structure that contains extra data. Optional.

(Inherited from OrganizationRequest)
Item[String]

Gets or sets the indexer for the Parameters collection.

(Inherited from OrganizationRequest)
Parameters

Gets or sets the collection of parameters for the request. Required, but is supplied by derived classes.

(Inherited from OrganizationRequest)
PrivilegeName

Gets or sets the name of the privilege.

RequestId

Gets or sets the ID of the request. Optional.

(Inherited from OrganizationRequest)
RequestName

Gets or sets the name of the request. Required, but is supplied by derived classes.

(Inherited from OrganizationRequest)
UserId

Gets or sets the user to retrieve privileges for.

Applies to