Come implementare la protezione basata sui ruoli con autenticazione basata su form nell'applicazione ASP.NET utilizzando Visual Basic .NET

Questo articolo è stato precedentemente pubblicato con il codice di riferimento I306238
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: 306238
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Per una versione di Microsoft Visual C# .NET di questo articolo, vedere 311495.

Questo articolo fa riferimento a spazi dei nomi Microsoft.NET Framework libreria di classi seguenti:
  • System.Web.Security
  • System.Security.Principal

IN QUESTA ATTIVITÀ

Sommario
In questo articolo viene descritto come implementare la protezione basata sui ruoli in un'applicazione ASP.NET che implementa l'autenticazione basata su form utilizzando Visual Basic .NET.

back to the top

Requisiti

Questo articolo si presuppone che sia stata implementata l'autenticazione basata su form in un'applicazione ASP.NET.Per ulteriori informazioni, fare clic il numero articolo per visualizzare l'articolo della Microsoft Knowledge Base:
308157 Implementazione dell'autenticazione basata su form nell'applicazione ASP.NET utilizzando Visual Basic .NET
back to the top

Assegnare i ruoli per l'autenticazione utente

Poiché gli utenti dei moduli non sono generalmente utenti Microsoft Windows, non hanno alcun ruolo associato per impostazione predefinita. Pertanto, è necessario collegare i ruoli dell'utente autenticante all'identità dell'utente che è possibile implementare la protezione basata sui ruoli all'interno del codice.

Utilizzare il codice di esempio in questa sezione per implementare la protezione basata sui ruoli nell'applicazione. Questo esempio di codice vengono assegnati ruoli predefiniti per l'autenticazione utente. A seconda di come si memorizzano i dati utente, è possibile implementare il metodo per recuperare i ruoli dell'utente autenticato e associare tali ruoli all'identità di autenticazione dell'utente, illustrato nell'esempio di codice che seguono.

Copiare il codice seguente nel file Global. asax dell'applicazione esistente per assegnare i ruoli all'utente autenticante nel gestore eventi Application_AuthenticateRequest :
Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal 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        id = HttpContext.Current.User.Identity        Dim MyRoles(2) As String        MyRoles(0) = "Manager"        MyRoles(1) = "Admin"        HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id,MyRoles)     End ifEnd ifEnd sub				
back to the top

Verificare i ruoli utente e implementare la logica di programma nelle pagine ASPX

Di seguito viene illustrato come implementare e controllare la logica del programma in base ai ruoli a cui appartiene l'utente che esegue l'autenticazione.
  1. Creare una nuova pagina aspx denominata Sample e incollare il codice seguente:
    <%@ Page Language="VB" %><%@ Import Namespace="System.Web" %>  <script runat=server>    Sub Page_Load(Src As Object, E As EventArgs)	if User.IsInRole("Admin") then		Response.Write ("You are an Administrator")	Else		Response.Write ("You do not have any role assigned")	End if    End Sub  </script>					
  2. Salvare Sample dell'applicazione. Passare alla pagina per eseguire il test.
back to the top
Riferimenti
Per una panoramica sulla protezione ASP.NET, vedere il seguente articolo della Microsoft Knowledge Base:
306590 INFORMAZIONI: Cenni preliminari sulla protezione ASP.NET
Per ulteriori informazioni sulla protezione basata sui ruoli, vedere la seguente documentazione del Software Development Kit (SDK) di.NET Framework:Il documentazione e codice sorgente sul seguente sito Web MSDN contiene inoltre informazioni sulla protezione basata sui ruoli:Per ulteriori informazioni, consultare la documentazione seguente:
Reilly, Douglas J. Progettazione di applicazioni Microsoft ASP.NET. Microsoft Press, 2001.

Esposito Dino. Creazione di soluzioni Web con ASP.NET e ADO.NET. Microsoft Press, 2001.
Microsoft fornisce informazioni di contatto di terze parti per facilitare l'individuazione del supporto tecnico. Le informazioni di contatto modifica senza preavviso. Microsoft non garantisce l'accuratezza delle informazioni per contattare altri produttori.

back to the top

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 306238 - Ultima revisione: 12/06/2015 04:55:57 - Revisione: 1.0

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbnosurvey kbarchive kbproductlink kbhowtomaster kbsecurity kbmt KB306238 KbMtit
Feedback