Al momento sei offline in attesa che la connessione Internet venga ristabilita

INFORMAZIONI: Cenni preliminari sulla protezione ASP.NET

Questo articolo è stato precedentemente pubblicato con il codice di riferimento I306590
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 306590
In questo articolo si intende la seguente .net Microsoft Spazi dei nomi Framework Class Library:
  • System.Web.Security
  • System.Web.Principal
Sommario
In questo articolo viene fornita un'introduzione a ASP.NET protezione.

Per ulteriori ASP.NET panoramiche, fare riferimento al seguente Articolo della Microsoft Knowledge Base:
305140 INFO: Roadmap ASP.NET
Informazioni
ASP.NET offre un maggiore controllo per implementare la protezione per l'applicazione. ASP.NET protezione funziona in combinazione con Microsoft Internet Information Services Protezione (IIS) e include servizi di autenticazione e autorizzazione per implementare il modello di protezione ASP.NET. ASP.NET include inoltre basato sui ruoli funzionalità di protezione che è possibile implementare per Microsoft Windows e account utente non Windows.

In questo articolo è suddiviso in quanto segue sezioni:

Flusso di protezione con una richiesta

La procedura seguente illustra la sequenza di eventi quando un client effettua una richiesta:
  1. Un client richiede una pagina aspx che risiede in IIS Server.
  2. Le credenziali del client vengono passate a IIS.
  3. IIS autentica il client e inoltra l'autenticato token con la richiesta del client al processo di lavoro ASP.NET.
  4. In base al token autenticato da IIS e il impostazioni di configurazione dell'applicazione Web, ASP.NET decide se rappresentare un utente sul thread che sta elaborando la richiesta. In una distinta differenza tra Microsoft pagine ASP (ASP) e ASP.NET, ASP.NET no più rappresenta l'utente autenticato per impostazione predefinita. Per abilitare la rappresentazione, è necessario impostare l'attributo impersonate della sezione identità nel file Web. config su true.
Per ulteriori informazioni sul flusso di protezione, consultare la argomento riportato di seguito nel Software Development Kit (SDK) di.NET Framework documentazione: Per ulteriori informazioni su rappresentazione in ASP.NET, fare clic sul numero riportato di seguito per visualizzare l'articolo in della Microsoft Knowledge Base:
306158 INFO: Implementazione della rappresentazione in un'applicazione di ASP.NET
Torna all'inizio

Impostazioni di configurazione correlate

IIS gestisce impostazioni di configurazione relative alla protezione di IIS metabase. Tuttavia, ASP.NET gestisce la protezione (e altre) configurazione impostazioni nei file di configurazione di Extensible Markup Language (XML). Sebbene questo in genere semplifica la distribuzione dell'applicazione da una protezione punto di vista, il modello di protezione che adotta l'applicazione richiede la corretta configurazione della metabase di IIS e l'applicazione ASP.NET tramite il file di configurazione (Web. config).

Di seguito le sezioni di configurazione relative alla protezione ASP.NET: Torna all'inizio

Autenticazione

L'autenticazione è il processo mediante il quale è possibile ottenere identificazione credenziali quali nome e la password dell'utente e convalidare tali credenziali rispetto a un'autorità.

ASP.NET fornisce l'autenticazione quattro provider:

Autenticazione basata su form

Autenticazione basata su form si riferisce a un sistema in cui non autenticati le richieste vengono reindirizzate a un modulo Hypertext Markup Language (HTML) in cui gli utenti digitano le proprie credenziali. Dopo che l'utente fornisce le credenziali e invia il modulo, l'applicazione autentica la richiesta e i problemi di sistema un ticket di autorizzazione sotto forma di un cookie. Questo cookie contiene il credenziali o una chiave per riacquisire l'identità. Le richieste successive dal browser includeranno automaticamente il cookie.

Per ulteriori informazioni su Autenticazione basata su form, vedere l'argomento riportato di seguito nel SDK di.NET Framework documentazione: Per autenticazione basata su form informazioni aggiuntive in ASP.NET, fare clic sull'articolo sul numero dell'articolo della Microsoft Knowledge Base:
301240 PROCEDURA: Implementare basata su moduli di autenticazione dell'applicazione ASP.NET utilizzando C#.

Autenticazione di Windows

L'autenticazione di Windows, IIS esegue l'autenticazione, e il token autenticato viene inoltrato al processo di lavoro ASP.NET. Il vantaggio dell'utilizzo di Windows l'autenticazione è che richiede una codifica minima. È possibile utilizzare Windows autenticazione per rappresentare l'account utente Windows autenticato da IIS prima di inviare la richiesta a ASP.NET.

Per ulteriori informazioni sull'autenticazione di Windows, vedere il seguente argomento della .net Documentazione:

Autenticazione Passport

L'autenticazione Passport è un servizio di autenticazione centralizzata fornito da Microsoft che offre servizi di profilo di una singola connessione e core per i siti membri. In genere, viene utilizzata l'autenticazione Passport quando necessario accesso singolo di funzionalità di più domini.

Per ulteriori informazioni informazioni sull'autenticazione Passport, fare riferimento al seguente argomento della .NET Framework inglese:

Autenticazione predefinita

L'autenticazione predefinita viene utilizzato quando non si desidera un livello di protezione un'applicazione Web; l'accesso anonimo è necessaria per la protezione provider. Tra tutti i provider di autenticazione, fornisce l'autenticazione predefinita massime prestazioni dell'applicazione. Questo provider di autenticazione è anche utilizzato quando si utilizza un modulo di protezione personalizzato.

Torna all'inizio

Autorizzazione

L'autorizzazione è il processo che verifica se l'autenticazione utente può accedere alle risorse richieste.

ASP.NET offre la provider di autorizzazione seguenti:

FileAuthorization

La classe FileAuthorizationModule esegue l'autorizzazione file ed è attiva quando si utilizza Autenticazione di Windows. FileAuthorizationModule è responsabile dell'esecuzione dei controlli sul controllo di accesso di Windows Elenchi (ACL) per determinare se un utente deve disporre dell'accesso.

UrlAuthorization

La classe UrlAuthorizationModule esegue l'autorizzazione di Uniform Resource Locator (URL), che controlla l'autorizzazione basata sullo spazio dei nomi URI. Spazi dei nomi URI può essere piuttosto diverso dai percorsi di cartelle e i file fisici che le autorizzazioni NTFS utilizzare.

UrlAuthorizationModule implementa asserzioni sia autorizzazione positivi e negativi; è possibile utilizzare il modulo in modo selettivo consentire o negare l'accesso a parti arbitrarie dello spazio dei nomi URI per gli utenti, ruoli (ad esempio manager, i tester e gli amministratori) e verbi (ad esempio GET e POST).

Per ulteriori informazioni sull'autorizzazione in ASP.NET, vedere il seguente argomento nella documentazione SDK.NET Framework: Torna all'inizio

Protezione basata sui ruoli

Protezione basata sui ruoli in ASP.NET è simile a basato sui ruoli protezione utilizzare Microsoft COM+ e Microsoft Transaction Server (MTS), anche se esistono importanti differenze. Non è basata sui ruoli protezione in ASP.NET limitato a gruppi e account di Windows. Ad esempio, se l'autenticazione di Windows e la rappresentazione è attivata, l'identità dell'utente è un'identità Windows (User.Identity.Name = "Dominio\nomeutente"). È possibile verificare l'identità per l'appartenenza a ruoli specifici e limitare l'accesso di conseguenza. Per esempio:

Codice di Visual Basic.
If User.IsInRole("BUILTIN\Administrators") Then   Response.Write("You are an Admin")Else If User.IsInRole("BUILTIN\Users") then   Response.Write("You are a User")Else   Response.Write("Invalid user")End if				
Codice di Visual C#.
if ( User.IsInRole("BUILTIN\\Administrators"))   Response.Write("You are an Admin");else if (User.IsInRole("BUILTIN\\Users"))   Response.Write("You are a User");else   Response.Write("Invalid user");				
Se si utilizza l'autenticazione dei form, i ruoli non vengono assegnati per il utente autenticato; è necessario farlo a livello di programmazione. Per assegnare i ruoli per la autenticazione utente, utilizzare l'evento OnAuthenticate del modulo di autenticazione (che è il form modulo di autenticazione in questo esempio) per creare un nuovo oggetto GenericPrincipal e assegnarlo alla proprietà utente di HttpContext. Il seguente codice illustra questo:

Codice di Visual Basic.
Public Sub Application_AuthenticateRequest(s As Object, e As EventArgs)   If (Not(HttpContext.Current.User Is Nothing)) Then      If HttpContext.Current.User.Identity.AuthenticationType = "Forms" Then         Dim id as System.Web.Security.FormsIdentity = HttpContext.Current.User.Identity         Dim myRoles(3) As String         myRoles(0)= "managers"         myRoles(1)= "testers"         myRoles(2)= "developers"         HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id,myRoles)       End If   End IfEnd Sub				
Codice di Visual C#.
public void Application_AuthenticateRequest(Object s, EventArgs e)      {   if (HttpContext.Current.User != null)   {      if (HttpContext.Current.User.Identity.AuthenticationType == "Forms" )       {         System.Web.Security.FormsIdentity id = HttpContext.Current.User.Identity;         String[] myRoles = new String[3];         myRoles[0]= "managers";         myRoles[1]= "testers";         myRoles[2]= "developers";         HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id,myRoles);      }   }} 				
Per verificare se l'utente è un ruolo specifico e limitare l'accesso di conseguenza, utilizzare il codice seguente (o simile) nelle pagine aspx:

Codice di Visual Basic.
If User.IsInRole("managers") Then   Response.Write("You are a Manager")Else If  User.IsInRole("testers") Then   Response.Write("You are a Tester")Else If User.IsInRole("developers") Then   Response.Write("You are a Developer")End if				
Codice di Visual C#.
if (User.IsInRole("managers"))   Response.Write("You are a Manager");else if (User.IsInRole("testers"))   Response.Write("You are a Tester");else if (User.IsInRole("developers"))   Response.Write("You are a Developer");				
Per ulteriori informazioni, fare clic sull'articolo sul numero dell'articolo della Microsoft Knowledge Base:
306238 PROCEDURA: Implementare basata sul ruolo di protezione con l'autenticazione basata su form nell'applicazione ASP.NET mediante Visual Basic .net
Per ulteriori informazioni sulla protezione basata sui ruoli, vedere il seguente argomento nella documentazione SDK.NET Framework:
Riferimenti
Per informazioni sulle indicazioni ASP.NET di protezione, vedere la white paper MSDN riportato di seguito:
L'autenticazione in ASP.NET: Guida alla protezione di .net
http://msdn.microsoft.com/en-us/library/ms978378.aspx
Per ulteriori informazioni generali su ASP.NET, consultare il newsgroup MSDN riportato di seguito: Per ulteriori informazioni, fare clic sull'articolo sui numeri degli articoli della Microsoft Knowledge Base:
311094 BUG: Messaggio di errore "ConfigurationException" rappresentato lettura configurazione di account
306359 PRB: Stringa vuota restituisce Request.ServerVariables("LOGON_USER") in ASP.NET
313091 PROCEDURA: Creare chiavi tramite Visual Basic .net utilizzato nell'autenticazione basata su form
313116 PRB: Le richieste di autenticazione form non sono possibile passare alla pagina loginUrl
Per ulteriori informazioni, vedere i seguenti manuali:
Reilly, J. Douglas Progettazione di applicazioni di Microsoft ASP.NET. Microsoft Press, 2001.

Esposito Dino.Creazione di soluzioni Web con ASP.NET e ADO.NET. Microsoft Press, 2001.

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 306590 - Ultima revisione: 06/28/2012 09:09:00 - Revisione: 1.0

Microsoft ASP.NET 1.0, Microsoft ASP.NET 1.1

  • kbproductlink kbarttyperoadmap kbconfig kbinfo kbsecurity kbweb kbmt KB306590 KbMtit
Feedback