Procedura: Compilare un'applicazione ASP.NET in grado di riconoscere attestazioni con l'autenticazione di WindowsHow To: Build Claims-Aware ASP.NET Application Using Windows Authentication

Si applica aApplies To

  • Microsoft® Windows® Identity Foundation (WIF)Microsoft® Windows® Identity Foundation (WIF)

  • Web Form ASP.NET®ASP.NET® Web Forms

RiepilogoSummary

Questo argomento include le procedure dettagliate per creare una semplice applicazione Web Form ASP.NET in grado di riconoscere attestazioni che usa l'autenticazione di Windows.This How-To provides detailed step-by-step procedures for creating a simple claims-aware ASP.NET Web Forms application that uses Windows authentication. Sono inoltre disponibili istruzioni per testare l'applicazione per assicurarsi che le attestazioni vengano presentate quando un utente accede con l'autenticazione di Windows.It also provides instructions for how to test the application to verify that claims are presented when a user signs in using Windows authentication.

SommarioContents

  • ObiettiviObjectives

  • PanoramicaOverview

  • Riepilogo dei passaggiSummary of Steps

  • Passaggio 1: creare una semplice applicazione Web Form ASP.NETStep 1 – Create a Simple ASP.NET Web Forms Application

  • Passaggio 2: configurare l'applicazione Web Form ASP.NET per le attestazioni usando l'autenticazione di WindowsStep 2 – Configure ASP.NET Web Forms Application for Claims Using Windows Authentication

  • Passaggio 3: eseguire i test sulla soluzioneStep 3 – Test Your Solution

ObiettiviObjectives

  • Configurare un'applicazione Web Form ASP.NET per le attestazioni usando l'autenticazione di WindowsConfigure an ASP.NET Web Forms application for claims using Windows authentication

  • Testare l'applicazione Web Form ASP.NET per verificare se funziona correttamenteTest the ASP.NET Web Forms application to see if it is working properly

PanoramicaOverview

In .NET 4.5, WIF e l'autorizzazione basata sulle attestazioni sono diventati parte integrante del framework.In .NET 4.5, WIF and its claims-based authorization have been included as an integral part of the Framework. In precedenza, per usare le attestazioni da un utente ASP.NET, era necessario installare WIF e quindi effettuare il cast delle interfacce su oggetti Principal come Thread.CurrentPrincipal o HttpContext.Current.User.Previously, if you wanted claims from an ASP.NET user, you were required to install WIF, and then cast interfaces to Principal objects such as Thread.CurrentPrincipal or HttpContext.Current.User. Ora le attestazioni vengono gestite automaticamente da questi oggetti Principal.Now, claims are served automatically by these Principal objects.

L'autenticazione di Windows ha tratto vantaggio dall'inclusione di WIF in .NET 4.5, perché a tutti gli utenti autenticati con credenziali di Windows vengono associate automaticamente le attestazioni.Windows authentication has benefited from WIF’s inclusion in .NET 4.5 because all users authenticated by Windows credentials automatically have claims associated with them. È possibile iniziare subito a usare queste attestazioni in un'applicazione ASP.NET che usa l'autenticazione di Windows, come illustrato di seguito in questa procedura.You can begin using these claims immediately in an ASP.NET application that uses Windows authentication, as this How-To demonstrates.

Riepilogo dei passaggiSummary of Steps

  • Passaggio 1: creare una semplice applicazione Web Form ASP.NETStep 1 – Create a Simple ASP.NET Web Forms Application

  • Passaggio 2: configurare l'applicazione Web Form ASP.NET per le attestazioni usando l'autenticazione di WindowsStep 2 – Configure ASP.NET Web Forms Application for Claims Using Windows Authentication

  • Passaggio 3: eseguire i test sulla soluzioneStep 3 – Test Your Solution

Passaggio 1: creare una semplice applicazione Web Form ASP.NETStep 1 – Create a Simple ASP.NET Web Forms Application

In questo passaggio si creerà una nuova applicazione Web Form ASP.NET.In this step, you will create a new ASP.NET Web Forms application.

Per creare un'applicazione ASP.NET sempliceTo create a simple ASP.NET application

  1. Avviare Visual Studio e quindi fare clic su File, Nuovo e Progetto.Start Visual Studio, then click File, New, and then Project.

  2. Nella finestra Nuovo progetto fare clic su Applicazione Web Form ASP.NET.In the New Project window, click ASP.NET Web Forms Application.

  3. In Nome immettere TestApp e fare clic su OK.In Name, enter TestApp and press OK.

  4. Dopo la creazione del progetto TestApp fare clic su di esso in Esplora soluzioni.After the TestApp project has been created, click on it in Solution Explorer. Le proprietà del progetto verranno visualizzate nel riquadro Proprietà sotto a Esplora soluzioni.The project’s properties will appear in the Properties pane below Solution Explorer. Impostare la proprietà Autenticazione di Windows su Abilitata.Set the Windows Authentication property to Enabled.

    Avviso

    L'autenticazione di Windows è disabilitata per impostazione predefinita nelle nuove applicazioni ASP.NET, pertanto è necessario abilitarla manualmente.Windows authentication is disabled by default in new ASP.NET applications, so you must manually enable it.

Passaggio 2: configurare l'applicazione Web Form ASP.NET per le attestazioni usando l'autenticazione di WindowsStep 2 – Configure ASP.NET Web Forms Application for Claims Using Windows Authentication

In questo passaggio si aggiungerà una voce di configurazione al file di configurazione Web.config e si modificherà il file Default.aspx per visualizzare informazioni sulle attestazioni per un account.In this step you will add a configuration entry to the Web.config configuration file and modify the Default.aspx file to display claims information for an account.

Per configurare l'applicazione ASP.NET per le attestazioni usando l'autenticazione di WindowsTo configure ASP.NET application for claims using Windows authentication

  1. Nel file Default.aspx del progetto TestApp sostituire il markup esistente con il seguente:In the TestApp project’s Default.aspx file, replace the existing markup with the following:

    <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"  
        CodeBehind="Default.aspx.cs" Inherits="TestApp._Default" %>  
    
    <asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">  
        <p>  
            This page displays the claims associated with a Windows authenticated user.          
        </p>  
        <h3>Your Claims</h3>  
        <p>  
            <asp:GridView ID="ClaimsGridView" runat="server" CellPadding="3">  
                <AlternatingRowStyle BackColor="White" />  
                <HeaderStyle BackColor="#7AC0DA" ForeColor="White" />  
            </asp:GridView>  
        </p>  
    </asp:Content>  
    

    Questo passaggio aggiunge un controllo GridView alla pagina Default.aspx che verrà popolato con le attestazioni recuperate dall'autenticazione di Windows.This step adds a GridView control to your Default.aspx page that will be populated with the claims retrieved from Windows authentication.

  2. Salvare il file Default.aspx e quindi aprire il relativo file code-behind denominato Default.aspx.cs.Save the Default.aspx file, then open its code-behind file named Default.aspx.cs. Sostituire il codice esistente con quello seguente:Replace the existing code with the following:

    using System;  
    using System.Web.UI;  
    using System.Security.Claims;  
    
    namespace TestApp  
    {  
        public partial class _Default : Page  
        {  
            protected void Page_Load(object sender, EventArgs e)  
            {  
                ClaimsPrincipal claimsPrincipal = Page.User as ClaimsPrincipal;  
                this.ClaimsGridView.DataSource = claimsPrincipal.Claims;  
                this.ClaimsGridView.DataBind();  
            }  
        }  
    }  
    

    Il codice sopra riportato visualizzerà le attestazioni relative a un utente autenticato.The above code will display claims about an authenticated user.

  3. Per modificare il tipo di autenticazione dell'applicazione, modificare il blocco <authentication> nella sezione <system.web> del file Web.config radice del progetto in modo che includa solo la voce di configurazione seguente:To change the application’s authentication type, modify the <authentication> block in the <system.web> section of the project’s root Web.config file so that it only includes the following configuration entry:

    <authentication mode="Windows" />  
    
  4. Modificare infine il blocco <authorization> nella sezione <system.web> dello stesso file Web.config per forzare l'autenticazione:Finally, modify the <authorization> block in the <system.web> section of the same Web.config file to force authentication:

    <authorization>  
        <deny users="?" />  
    </authorization>  
    

Passaggio 3: eseguire i test sulla soluzioneStep 3 – Test Your Solution

In questo passaggio verrà testata l'applicazione Web Form ASP.NET e si verificherà che le attestazioni vengano presentate quando un utente accede con l'autenticazione di Windows.In this step you will test your ASP.NET Web Forms application, and verify that claims are presented when a user signs in with Windows authentication.

Per testare le attestazioni con l'applicazione Web Form ASP.NET usando l'autenticazione di WindowsTo test your ASP.NET Web Forms application for claims using Windows authentication

  1. Premere F5 per compilare ed eseguire l'applicazione.Press F5 to build and run the application. Verrà visualizzato il file Default.aspx e il nome dell'account Windows personale (incluso il nome di dominio) dovrebbe già essere visualizzato come utente autenticato in alto a destra nella pagina.You should be presented with Default.aspx, and your Windows account name (including domain name) should already appear as the authenticated user in the top right of the page. Il contenuto della pagina deve includere una tabella con le attestazioni recuperate dall'account di Windows.The page’s content should include a table filled with claims retrieved from your Windows account.