Condividi tramite


Autenticazione del portale (Dynamics CRM 2015)

 

Data di pubblicazione: novembre 2016

Si applica a: Dynamics CRM 2015

Account Microsoft consente agli utenti di essere autenticati nel sito Web senza dover creare propri provider di sicurezza. In questo argomento viene illustrato come utilizzare l'autenticazione Account Microsoft con il sito Web tramite le estensioni per sviluppatori Microsoft Dynamics CRM 2015 e il toolkit del portale.

In questo argomento

Registrare il sito Web con l'account Microsoft

Aggiungere il controllo LiveIdLoginStatus

Aggiungere il servizio di gestione e il provider di appartenenze

Registrazione forzata

Registrare il sito Web con l'account Microsoft

Per iniziare, è necessario registrare il sito Web con Account Microsoft:

https://account.live.com/developers/applications

Quando si registra il sito, è necessario specificare il nome completo di dominio, ad esempio, "yoursite.yourdomain.com" e non solo "yourdomain.com".

È inoltre necessario fornire un URL che reindirizza le richieste di Account Microsoft al termine dell'accesso. Questa operazione riguarda il servizio di gestione, trattato più avanti in questo documento, ma, per impostazione predefinita, l'URL da immettere è:

http://yoursite.yourdomain.com/liveid.axd. 

Dopo aver registrato il sito Web, viene fornito all'utente un ID applicazione e un segreto che verrà utilizzato per il plug-in di web.config in modo da agganciare il sito per il Account Microsoft.

Di seguito sono elencate alcune considerazioni da notare:

I nomi di dominio non includono stringhe, quali localhost, 127.0.0.1 o un elemento contenente la parola "live".

Non è possibile condividere la gestione del sito Web con altri utenti.

Non è possibile modificare il nome di dominio dopo averlo registrato.

Aggiungere il controllo LiveIdLoginStatus

L'ultimo passaggio consiste nell'aggiunta del controllo LiveIdLoginStatus che funziona come il controllo LoginStatus. Viene visualizzato un collegamento di accesso per gli utenti che non sono autenticati e un collegamento di uscita per gli utenti che sono autenticati.

Quando l'accesso è anonimo, il collegamento conduce l'utente su Windows Live e facoltativamente, ovvero utilizzando Loginhref, su una pagina di destinazione specificata che informa l'utente sull'indirizzamento a Windows Live.

Una volta autenticato, il collegamento di uscita reimposta l'identità dell'utente corrente come utente anonimo.

<crm:LiveIdLoginStatus runat="server" /> 

Ciò presuppone che il prefisso di tag "crm" sia stato registrato per "Microsoft.Xrm.Portal.Web.UI.WebControls".

Aggiungere il servizio di gestione e il provider di appartenenze

Il provider di appartenenze gestisce le informazioni di accesso utente. L'utilizzo di Account Microsoft richiede l'utilizzo del provider di appartenenze di Account Microsoft :

<membership defaultProvider="CrmMembershipProvider">
    <providers>
        <add name="CrmMembershipProvider" type="Microsoft.Xrm.Portal.Web.Security.LiveIdMembershipProvider, Microsoft.Xrm.Portal" liveIdConnectionStringName="Live"/>
    </providers>
</membership>

Il servizio di gestione convalida se l'utente autenticato è stato registrato nel sito Web. Se si esegue un sito Internet Information Services (IIS) 7 in modalità integrata, sarà necessario verificare che quanto segue venga aggiunto alla sezione <handlers>:

<add name="LiveId" verb="*" path="LiveID.axd" preCondition="integratedMode" type="Microsoft.Xrm.Portal.Web.Handlers.LiveIdWebAuthenticationHandler, Microsoft.Xrm.Portal" />

Se si esegue in modalità pipeline classica o in IIS6, il servizio di gestione è configurato nella sezione <httpHandlers> del file Web.config.

<add verb="*" path="LiveID.axd" type="Microsoft.Xrm.Portal.Web.Handlers.LiveIdWebAuthenticationHandler, Microsoft.Xrm.Portal"/>

Registrazione forzata

Quando si utilizza Account Microsoft per l'autenticazione, si conosce solo l'identificatore univoco Passport (PUID). Per informazioni aggiuntive sull'utente (ad esempio il nome visualizzato o un messaggio di posta elettronica) è necessario raccogliere le informazioni dall'utente. A questo scopo è possibile procedere in due modi comuni:

  • Configurare una pagina per inserire le informazioni a propria discrezione quando è stato eseguito l'accesso.

  • Raccogliere informazioni prima di potere essere autenticati nel sito.

Per applicare il secondo modo, la configurazione di Account Microsoft necessita di una gestione speciale.

  1. Come parte di una registrazione utente, Microsoft Dynamics 365 necessita di conoscere il PUID dell'utente in modo da poter collegarlo alle informazioni di contatto di Microsoft Dynamics 365 dell'utente. In altre parole, è necessario che l'utente acceda tramite Account Microsoft e venga inviato alla pagina di registrazione. Questa operazione viene eseguita con l'aggiunta dell'attributo RegistrationUrl nel controllo LiveIdLoginStatus.

    <crm:LiveIdLoginStatus runat="server" RegistrationUrl="/CreateUser" /> 
    
  2. Nel code-behind della pagina di registrazione, è necessario aggiungere il codice per mantenere il token di Account Microsoft e per creare il nuovo utente dopo aver raccolto le informazioni desiderate.

    protected void Page_Load(object sender, EventArgs e)
    {
      if (InvitationCode == null || InvitedContact == null)
      {
        var page = SiteContext.Current.Website.GetPageBySiteMarkerName("Home");
        Response.Redirect(page.GetUrl());
      }
    
      // Add the Live ID variables that come from the authentication handler to hidden 
      // script variables.
      if (Request["live-id-action"] == "register")
      {
        Page.ClientScript.RegisterHiddenField("live-id-token", 
          Request["live-id- token"]);
        Page.ClientScript.RegisterHiddenField("live-id-action", 
          Request["live-id-action"]);
      }
    }
    

Vedere anche

Guida per sviluppatori del portale per Microsoft Dynamics CRM 2015
Prepararsi per lo sviluppo del portale (Dynamics CRM 2015)
Binding dati e moduli Web ASP.NET
Gestire il contenuto del portale (Dynamics CRM 2015)
Procedure dettagliate dei portali per Dynamics CRM 2015

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright