Testare il codice

Premere F5 per eseguire il progetto in Visual Studio. Verrà aperto il browser e l'utente verrà indirizzato a http://localhost:{porta}, in cui verrà visualizzato il pulsante Accedi con Microsoft. Fare clic per eseguire l'accesso.

Quando si è pronti per il test, usare un account aziendale o dell'istituto di istruzione (Azure Active Directory) oppure un account personale (live.com, outlook.com) per accedere.

Finestra del browser con accesso con Microsoft

Finestra del browser con accesso con Microsoft

Risultati previsti

Dopo l'accesso, l'utente viene reindirizzato alla home page del sito Web, ossia all'URL HTTPS specificato nelle informazioni di registrazione dell'applicazione nel portale di registrazione delle applicazioni Microsoft. Nella pagina vengono ora visualizzati Hello {utente}, un collegamento per la disconnessione e uno per visualizzare le attestazioni dell'utente, ossia un collegamento al controller Authorize creato in precedenza.

Visualizzare le attestazioni dell'utente

Selezionare il collegamento ipertestuale per visualizzare le attestazioni dell'utente. Si accederà così al controller e alla visualizzazione disponibile solo per gli utenti autenticati.

Risultati previsti

Verrà visualizzata una tabella contenente le proprietà di base dell'utente connesso:

Proprietà Valore Descrizione
Nome {Nome e cognome utente} Nome e cognome dell'utente
Nome utente user@domain.com Nome utente usato per identificare l'utente connesso
Subject {Soggetto} Stringa che identifica in modo univoco l'account di accesso dell'utente sul Web
ID tenant {GUID} GUID che rappresenta in modo univoco l'organizzazione di Azure Active Directory dell'utente.

Verrà visualizzata anche una tabella contenente tutte le attestazioni utente incluse nella richiesta di autenticazione. Per un elenco e una spiegazione di tutte le attestazioni in un token ID, vedere questo articolo.

Testare l'accesso a un metodo con attributo [Authorize] (facoltativo)

In questo passaggio si testerà l'accesso al controller Authenticated come utente anonimo:
Selezionare il collegamento per la disconnessione dell'utente e completare il processo di disconnessione.
Nel browser digitare http://localhost:{porta}/authenticated per accedere al controller protetto con l'attributo [Authorize].

Risultati previsti

Verrà visualizzata la richiesta di eseguire l'autenticazione per accedere alla visualizzazione.

Informazioni aggiuntive

Proteggere l'intero sito Web

Per proteggere l'intero sito Web, aggiungere AuthorizeAttribute a GlobalFilters nel metodo Application_Start di Global.asax:

GlobalFilters.Filters.Add(new AuthorizeAttribute());


Nota

Come limitare l'accesso all'applicazione agli utenti di una sola organizzazione

Per impostazione predefinita, all'applicazione possono accedere account personali (ad esempio outlook.com, live.com e altri) e account aziendali o di istituti di istruzione di qualsiasi organizzazione o azienda che abbia eseguito l'integrazione con Azure Active Directory.

Se si vuole che l'applicazione accetti accessi da una sola organizzazione di Azure Active Directory, sostituire il parametro Tenant in web.config passando da Common al nome del tenant dell'organizzazione, ad esempio contoso.onmicrosoft.com. Al termine, modificare l'argomento ValidateIssuer nella classe di avvio OWIN impostandolo su true.

Per consentire l'accesso solo agli utenti di un elenco di organizzazioni specifiche, impostare ValidateIssuer su true e usare il parametro ValidIssuers per specificare un elenco di organizzazioni.

Un'altra opzione consiste nell'implementare un metodo personalizzato per convalidare le autorità di certificazione usando il parametro IssuerValidator. Per altre informazioni su TokenValidationParameters, vedere questo articolo di MSDN.