Share via


Esempio di codice: ASP.NET MVC 4 con disconnesso federato

Aggiornamento: 19 giugno 2015

Si applica a: Azure

Questo esempio illustra come integrare Microsoft Azure Active Directory Controllo di accesso (noto anche come servizio Controllo di accesso o ACS) con un'applicazione ASP.NET MVC 4. L'integrazione di ACS abilita le funzionalità Single Sign-On e Single Sign-Out per i provider di identità supportati in un'applicazione ASP.NET MVC 4.

Il codice per questo esempio si trova nella sottodirectory ASPNETSimpleMVC4 (C#\Websites\ASPNETSimpleMVC4) del pacchetto di esempi di codice Microsoft Azure Active Directory Controllo di accesso (ACS).

Per altre informazioni sulla funzionalità single sign-out in ACS, vedere Single Sign-Out.

Prerequisiti

Ecco i prerequisiti per eseguire questo esempio:

Per altre informazioni, vedere Prerequisiti ACS.

Configurazione dell'esempio

È possibile usare il portale di gestione ACS o il servizio di gestione ACS per configurare questo esempio. Questo argomento descrive entrambe le opzioni.

  • Opzione 1: Uso del portale di gestione ACS

  • Opzione 2: Uso del servizio di gestione ACS

Opzione 1: Uso del portale di gestione ACS

Per configurare l'esempio tramite il portale di gestione ACS

  1. Passare al portale di gestione Microsoft Azure (https://manage.WindowsAzure.com), accedere e quindi fare clic su Active Directory. (Suggerimento per la risoluzione dei problemi: elemento "Active Directory" mancante o non disponibile)

  2. Per creare uno spazio dei nomi di Controllo di accesso, fare clic su Nuovo, Servizi app, Controllo di accesso, quindi su Creazione rapida. Altrimenti, fare clic su Spazi dei nomi controllo di accesso prima di scegliere Nuovo.

  3. Per gestire uno spazio dei nomi di Controllo di accesso, selezionare lo spazio dei nomi, quindi fare clic su Gestisci. Altrimenti, fare clic su Spazi dei nomi controllo di accesso, selezionare lo spazio dei nomi, quindi fare clic su Gestisci.

    Verrà visualizzato il portale di gestione ACS.

  4. Per consentire agli utenti dell'applicazione di accedere con le identità Google o Yahoo! , fare clic su Provider di identità, fare clic su Aggiungi e quindi aggiungere Google e Yahoo!.

    Per istruzioni, vedere Google come provider di identità ACS e Yahoo! come provider di identità ACS. Windows Live ID (account Microsoft) viene aggiunto per impostazione predefinita e non può essere eliminato.

  5. Per registrare l'applicazione con ACS, fare clic su Applicazioni relying party, fare clic su Aggiungi, immettere le informazioni seguenti nel modulo e quindi fare clic su Salva.

    • Nel campo Name immettere ASPNETMVC4Sample.

    • Nel campo Area di autenticazione immettere https://localhost:65000/

    • Nel campo URL restituito immettere https://localhost:65000/

    • Nel campo URL errore immettere https://localhost:65000/Error

    • Nel campo Token format selezionare SAML 2.0.

    • Nel campo Token signing selezionare Use service namespace certificate (standard).

    Per informazioni sui campi e i valori nella pagina Aggiungi applicazione relying party, vedere Relying Party Applications.For information about the fields and values on the Add Relying Party Application page, see Relying Party Applications.

  6. Per creare un gruppo di regole che invia tutte le attestazioni emesse dai provider di identità all'applicazione relying party, fare clic su Rule groups, Default Rule Group for ACS Simple MVC4 Sample e Generate, quindi su Save.

    La sezione Gruppi di regole del portale ACS crea le regole che determinano quali attestazioni ACS invia all'applicazione. Selezionando tutte le regole generate, si configura ACS per inviare tutte le attestazioni rilasciate dai provider di identità all'applicazione relying party.

L'esempio è ora configurato e pronto per l'esecuzione in Visual Studio 2012.

Opzione 2: Uso del servizio di gestione ACS

La soluzione di esempio Visual Studio include un'applicazione console denominata ConfigureSample che usa il servizio di gestione ACS e gli helper comuni definiti nella libreria di classi Comuni. È possibile usare questa applicazione per configurare lo spazio dei nomi Controllo di accesso da usare con questo esempio.

Per configurare l'esempio tramite il servizio di gestione ACS

  1. Per configurare l'esempio, aprire SamplesConfiguration.cs (acs\Management\ManagementService\Common). Sostituire i segnaposto nella classe SamplesConfiguration nella libreria di classi Common con informazioni sullo spazio dei nomi Controllo di accesso. È possibile trovare le informazioni nel portale di gestione ACS.

    Per passare al portale di gestione ACS: passare al portale di gestione Microsoft Azure (https://manage.WindowsAzure.com), accedere e quindi fare clic su Active Directory. (Suggerimento per la risoluzione dei problemi: elemento "Active Directory" mancante o non disponibile) Per gestire uno spazio dei nomi Controllo di accesso, selezionare lo spazio dei nomi e quindi fare clic su Gestisci. Altrimenti, fare clic su Spazi dei nomi controllo di accesso, selezionare lo spazio dei nomi, quindi fare clic su Gestisci.

    • ServiceNamespace: immettere il nome dello spazio dei nomi Controllo di accesso.

    • ManagementServiceIdentityName : immettere il nome di un account del servizio di gestione ACS. Il valore predefinito è ManagementClient.

      Per trovare il nome dell'account del servizio di gestione, nel portale di gestione ACS fare clic su Servizio di gestione. Gli account sono elencati in base al nome in Management Service Accounts.

    • ManagementServiceIdentityKey - Immettere la password dell'account del servizio di gestione.

      Per trovare la password dell'account del servizio di gestione, nel portale di gestione ACS fare clic su Servizio di gestione. Selezionare il nome di un account del servizio di gestione, quindi in Credentials fare clic su Password. Nel campo Password viene visualizzata la password. Per copiare la password, fare clic su Show Password.

  2. Eseguire l'applicazione ConfigureSample in Visual Studio. L'applicazione usa i dati in SamplesConfiguration.cs per configurare ACS per eseguire l'esempio.

Esecuzione dell'esempio

Per eseguire l'esempio

  1. Aprire il file di soluzione per l'esempio ASPNETSimpleMVC4.sln (C#\Websites\ASPNETSimpleMVC4\), in Visual Studio 2012.

  2. Fare clic con il pulsante destro del mouse sul progetto e scegliere Identity and Access dal menu di scelta rapida.

  3. Selezionare Use the Azure Access Control Service.

  4. Selezionare Configure accanto a Select one or more providers.

  5. Immettere la password dell'account del servizio di gestione e dello spazio dei nomi Controllo di accesso.

  6. Selezionare uno o più provider di identità nell'elenco.

    I provider di identità visualizzati sono quelli aggiunti quando è stato configurato l'esempio nel portale ACS o nel servizio di gestione ACS.

    L'applicazione relying party è configurata per l'uso di ACS.

  7. Premere F5 per eseguire l'applicazione. Il browser viene indirizzato alla pagina individuazione dell'area di autenticazione principale ACS.

  8. Fare clic su Google. Il browser viene reindirizzato a una pagina di accesso di Google.

  9. Immettere le credenziali di un account Google e rifiutare il consenso nell'apposito modulo.

Il browser viene reindirizzato a https://localhost:65000/. Tenere presente che il nome utente di Google viene visualizzato nell'angolo superiore sinistro della pagina, a indicare che è stato effettuato l'accesso all'applicazione relying party. Per uscire dall'applicazione relying party, fare clic sull'apposito collegamento. Tenere presente che l'utente non è più autenticato.

Vedere anche

Concetti

Procedura: Creare uno spazio dei nomi Controllo di accesso
Servizio di gestione ACS