Rappresentazione nei plug-in

 

Data di pubblicazione: novembre 2016

Si applica a: Dynamics CRM 2015

La rappresentazione viene utilizzata per eseguire le regole business (codice personalizzato) per conto di un utente di sistema Microsoft Dynamics 365 per fornire una funzionalità o servizio desiderato per l'utente. Tutte le regole business eseguite all'interno di un plug-in, incluse le chiamate al metodo del servizio Web e l'accesso ai dati, sono governate dai privilegi di sicurezza dell'utente rappresentato.

I plug-in non eseguiti dal sandbox o dal servizio asincrono vengono eseguiti sotto l'account di protezione specificato nella scheda Identità della finestra di dialogo Proprietà di CRMAppPool. È possibile accedere alla finestra di dialogo facendo clic con il pulsante destro del mouse sul pool di applicazioni CRMAppPool in Internet Information Services (IIS) Gestione e quindi fare clic su Proprietà nel menu di scelta rapida. Per impostazione predefinita, CRMAppPool utilizza l'identità del servizio di rete ma questo può essere modificato da un amministratore di sistema durante l'installazione. Se l'identità CRMAppPool viene modificata in un account di sistema diverso da Servizio di rete, il nuovo account di identità deve essere aggiunto al gruppo PrivUserGroup in Active Directory.Ulteriori informazioni:TechNet: Modificare un account di servizio Microsoft Dynamics CRM o l'identità AppPool per ulteriori informazioni dettagliate.

I due metodi che possono essere utilizzati per rappresentare un utente vengono trattati di seguito.

Rappresentazione durante la registrazione plug-in

Un metodo per rappresentare un utente di sistema all'interno di un plug-in è specificare l'utente rappresentato durante la registrazione del plug-in. Quando si registra un plug-in a livello di programmazione, se l'attributo SdkMessageProcessingStep.ImpersonatingUserId è impostato su un utente di sistema Microsoft Dynamics 365 specifico, le chiamate di servizio Web effettuate dal plug-in vengono eseguite per conto dell'utente rappresentato. Se ImpersonatingUserId è impostato su un valore di null o Guid.Empty durante la registrazione del plug-in, l'utente chiamante/collegato o l'utente di "sistema" standard è l'utente rappresentato.

Se l'utente chiamato/collegato o l'utente di "sistema" viene utilizzato per la rappresentazione dipende dalla richiesta elaborata dalla pipeline ed è fuori dall'ambito della documentazione SDK. Per ulteriori informazioni sull'utente di "sistema", fare riferimento all'argomento seguente.

Nota

Quando si registra un plug-in utilizzando lo strumento di registrazione del plug-in di esempio che è fornito nel download di SDK, i metodi di servizio richiamati dal plug-in vengono eseguiti nell'account dell'utente chiamante o collegato per impostazione predefinita a meno che non si selezioni un utente diverso nel menu a discesa Eseguire nel contesto utente. Per ulteriori informazioni sul codice di esempio dello strumento, fare riferimento al codice di strumento nella cartella SDK\Tools\PluginRegistration del pacchetto SDK.Scarica il pacchetto SDK di Microsoft Dynamics CRM.

Rappresentazione durante l'esecuzione del plug-in

La rappresentazione che è stata definita durante la registrazione del plug-in può essere alterata in un plug-in in fase di esecuzione. Anche se la rappresentazione non è stata definita nella registrazione del plug-in, il codice di plug-in può ancora utilizzare la rappresentazione. La seguente discussione identifica le proprietà chiave e i metodi che svolgono un ruolo nella rappresentazione quando effettuano le chiamate di metodo del servizio Web in un plug-in.

La piattaforma passa l'ID utente rappresentato a un plug-in durante l'esecuzione tramite la proprietà UserId. Questa proprietà può avere uno dei tre valori diversi come illustrato nella tabella seguente.

Valore UserId

Condizione

Avvio dell'utente o dell'utente di "sistema"

L'attributo SdkMessageProcessingStep.ImpersonatingUserId è impostato su null o Guid.Empty per la registrazione del plug-in.

Utente rappresentato

La proprietà ImpersonatingUserId è impostata su un ID utente di sistema valido nella registrazione del plug-in.

Utente di "sistema"

La pipeline corrente è stata eseguita dalla piattaforma, non in risposta diretta a una chiamata del metodo di servizio.

La proprietà InitiatingUserId del contesto di esecuzione contiene l'ID dell'utente di sistema che ha chiamato il metodo di servizio che ha causato l'esecuzione del plug-in.

Importante

Per i plug-in che vengono eseguiti offline, tutte le entità create dal plug-in sono di proprietà dell'utente collegato. La rappresentazione nei plug-in non è supportata in modalità offline.

Vedere anche

Sviluppo dei plug-in
Registrare e distribuire plug-in
Informazioni sul contesto dati passato a un plug-in
Rappresentare un altro utente

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright