Repræsentation i plug-ins
Udgivet: januar 2017
Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Repræsentation bruges til at udføre forretningslogik (brugerdefineret kode) på vegne af en Microsoft Dynamics 365-systembruger for at levere en ønsket funktion eller tjeneste til brugeren. Enhver forretningslogik, der udføres i et plug-in, herunder metodekald til webtjenester og dataadgang, er underlagt den repræsenterede brugers sikkerhedsrettigheder.
Plug-ins, som ikke udføres af sandkassen eller den asynkrone tjeneste under den sikkerhedskonto, som er angivet på fanen Identitet i dialogboksen Egenskaber for CRMAppPool. Du kan få adgang til dialogboksen ved at højreklikke på CRMAppPool-programgruppen i IIS (Internet Information Services) Manager og derefter klikke på Egenskaber i genvejsmenuen.CRMAppPool anvender som standard kontoidentiteten Netværkstjeneste, med dette kan ændres af en systemadministrator under installation. Hvis CRMAppPool-identiteten ændres til en anden systemkonto end Netværkstjeneste, skal den nye identitetskonto tilføjes til gruppen PrivUserGroup i Active Directory.Flere oplysninger:TechNet: Ændre en Microsoft Dynamics CRM-tjenestekonto eller AppPool-id'et for more detaljerede instruktioner.
Nedenfor behandles de to metoder, som kan benyttes til at udgive sig for en bruger.
Repræsentation under registrering af plug-in
Én metode til at repræsentere en systembruger i et plug-in er at angive den repræsenterede bruger under registrering af plug-in. Når du registrerer en plug-in via programmering, hvis attributten SdkMessageProcessingStep.ImpersonatingUserId er indstillet til en specifik Microsoft Dynamics 365-systembruger, udføres de webtjenesteopkald, der foretages af den pågældende plug-in, på vegne af den repræsenterede bruger. Hvis ImpersonatingUserId indstilles til en værdi på null eller Guid.Empty under plug-in-registrering, er den kaldende bruger/den bruger, der er logget på, eller standard "system"-brugeren den repræsenterede bruger.
Om det er den kaldende bruger/den bruger, der er logget på, eller standard "system"-brugeren, der bruges til repræsentation, afhænger af den anmodning, der behandles i pipelinen, og er uden for SDK-dokumentationens omfang. Se næste emne for at få flere oplysninger om "system"-brugeren
Bemærk
Når du registrerer et plug-in ved hjælp af det værktøj til plug-in-registrering, som leveres i SDK-downloadet, udføres de tjenestemetoder, der startes af plug-in'et under kontoen for den kaldende bruger eller den bruger, der er logget på, medmindre du vælger en anden bruger i rullemenuen Kør i brugerens kontekst. Du kan få flere oplysninger om værktøjseksempelkoden i værktøjskoden i mappen SDK\Tools\PluginRegistration i SDK-pakken.Hent SDK-pakken til Microsoft Dynamics CRM.
Repræsentation under udførelse af plug-in
Repræsentation, som blev defineret under registrering af plug-in, kan ændres i et plug-in på kørselstidspunktet. Selv hvis repræsentation, ikke blev defineret under registrering af plug-in, kan plug-in-kode stadig anvende repræsentation. I det følgende identificeres de vigtigste egenskaber og metoder, som spiller en rolle i repræsentation, når der foretages metodekald til webtjenester i et plug-in.
Platformen overfører det repræsenterede bruger-id til et plug-in på kørselstidspunktet via egenskaben UserId. Denne egenskab kan have en ud af tre forskellige værdier som vist i tabellen nedenfor.
Værdien UserId |
Betingelse |
---|---|
Initierer bruger eller "system"-bruger |
Attributten SdkMessageProcessingStep.ImpersonatingUserId er indstillet til null eller Guid.Empty ved plug-in-registrering. |
Repræsenteret bruger |
Egenskaben ImpersonatingUserId er indstillet til et gyldigt systembruger-id under plug-in-registrering. |
"system"-bruger |
Den aktuelle pipeline blev udført af platformen, ikke som direkte svar på et metodekald til en tjeneste. |
Egenskaben InitiatingUserId for kørselskonteksten indeholder id'et for den systembruger, der kaldte den tjenestemetode, som i sidste ende medførte, at plug-in'et blev kørt.
Vigtigt
For plug-ins, der køres offline, ejes eventuelle objekter, som plug-in'et opretter, af den bruger, som er logget på. Repræsentation i plug-ins er ikke understøttet i offline-tilstand.
Se også
Plug-in-udvikling
Registrere og installere plug-ins
Forstå den datakontekst, der overføres til en plug-in
Efterligne en anden bruger
Microsoft Dynamics 365
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret