Export (0) Print
Expand All
Expand Minimize

RetrievePrincipalAccess Message (CrmService)

banner art

[Applies to: Microsoft Dynamics CRM 4.0]

Find the latest SDK documentation: CRM 2015 SDK

Works for all deployment typesWorks online and offline

Retrieves the access that the security principal (user) has for the specified entity instance.

The relevant classes are specified in the following table.

TypeClass
RequestRetrievePrincipalAccessRequest
ResponseRetrievePrincipalAccessResponse
TargetTargetOwned Class
EntitySee the following table.

The following table shows the entities and target classes for this message.

EntityTarget class
accountTargetOwnedAccount
annotationTargetOwnedAnnotation
appointmentTargetOwnedAppointment
campaignTargetOwnedCampaign
campaignactivityTargetOwnedCampaignActivity
campaignresponseTargetOwnedCampaignResponse
contactTargetOwnedContact
contractTargetOwnedContract
customeropportunityroleTargetOwnedCustomerOpportunityRole
customerrelationshipTargetOwnedCustomerRelationship
emailTargetOwnedEmail
faxTargetOwnedFax
incidentTargetOwnedIncident
incidentresolutionTargetOwnedIncidentResolution
invoiceTargetOwnedInvoice
leadTargetOwnedLead
letterTargetOwnedLetter
listTargetOwnedList
opportunityTargetOwnedOpportunity
opportunitycloseTargetOwnedOpportunityClose
ordercloseTargetOwnedOrderClose
phonecallTargetOwnedPhoneCall
quoteTargetOwnedQuote
quotecloseTargetOwnedQuoteClose
salesorderTargetOwnedSalesOrder
serviceappointmentTargetOwnedServiceAppointment
templateTargetOwnedTemplate
userqueryTargetOwnedUserQuery
User owned custom business entitiesTargetOwnedX where X is the name of the custom entity
DynamicEntityTargetOwnedDynamic

Remarks

To use this message, pass an instance of the RetrievePrincipalAccessRequest class as the request parameter in the Execute method.

To perform this action, the caller must have access rights on the entity instance specified in the request class. For a list of required privileges, see RetrievePrincipalAccess Privileges.

Example

The following code example shows how to use the RetrievePrincipalAccess message.

[C#]
// Set up the CRM service.
CrmAuthenticationToken token = new CrmAuthenticationToken();
// You can use enums.cs from the SDK\Helpers folder to get the enumeration for Active Directory authentication.
token.AuthenticationType = 0; 
token.OrganizationName = "AdventureWorksCycle";
 
CrmService service = new CrmService();
service.Url = "http://<servername>:<port>/mscrmservices/2007/crmservice.asmx";
service.CrmAuthenticationTokenValue = token;
service.Credentials = System.Net.CredentialCache.DefaultCredentials;

// Create the SecurityPrincipal object.
// This references the user whose access is being checked.
SecurityPrincipal principal = new SecurityPrincipal();

// Set the properties of th SecurityPrincipal object.
// Type is the typecode of the principalid.
principal.Type = SecurityPrincipalType.User;
// PrincipalId is the GUID of the user whose access is being checked.
principal.PrincipalId = new Guid("F111F0B1-70CE-44B4-8BF2-2E6C7EADA111");

// Create the target for the request.
TargetOwnedAccount owner = new TargetOwnedAccount();

// EntityId is the GUID of the account to which access is being checked.
owner.EntityId = new Guid("2B951FBC-1C56-4430-B23B-20A1349068F3");

// Create the request object.
RetrievePrincipalAccessRequest access = new RetrievePrincipalAccessRequest();

// Set the properties of the request object.
access.Principal = principal;
access.Target = owner;

// Execute the request.
RetrievePrincipalAccessResponse accessResponse = (RetrievePrincipalAccessResponse)service.Execute(access);
[Visual Basic .NET]
' Set up the CRM service.
Dim token As New CrmAuthenticationToken()
' You can use enums.cs from the SDK\Helpers folder to get the enumeration for Active Directory authentication.
token.AuthenticationType = 0
token.OrganizationName = "AdventureWorksCycle"
 
Dim service As New CrmService()
service.Url = "http://<servername>:<port>/mscrmservices/2007/crmservice.asmx"
service.CrmAuthenticationTokenValue = token
service.Credentials = System.Net.CredentialCache.DefaultCredentials

' Create the SecurityPrincipal object.
' This references the user whose access is being checked.
Dim principal As New SecurityPrincipal()

'Set the properties of the SecurityPrincipal object.
'Type is the typecode of the principalid.
principal.Type = SecurityPrincipalType.User
' PrincipalId is the GUID of the user whose access is being checked.
principal.PrincipalId = New Guid("F111F0B1-70CE-44B4-8BF2-2E6C7EADA111")

' Create the target for the request.
Dim owner As New TargetOwnedAccount()

' EntityId is the GUID of the account to which access is being checked.
owner.EntityId = New Guid("2B951FBC-1C56-4430-B23B-20A1349068F3");

' Create the request object.
Dim access As New RetrievePrincipalAccessRequest()

' Set the properties of the request object.
access.Principal = principal
access.Target = owner

' Execute the request.
Dim accessResponse As RetrievePrincipalAccessResponse = CType(service.Execute(access), RetrievePrincipalAccessResponse)

See Also

Concepts

Reference


© 2010 Microsoft Corporation. All rights reserved.


Show:
© 2015 Microsoft