Cómo implementar la seguridad basada en funciones con autenticación basada en formularios en su aplicación de ASP.NET mediante Visual Basic .NET

Seleccione idioma Seleccione idioma
Id. de artículo: 306238 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E306238
Expandir todo | Contraer todo

En esta página

Resumen

Este artículo describe cómo implementar la seguridad basada en funciones en una aplicación de ASP.NET que implementa autenticación basada en formularios mediante .NET Visual Basic.

Requisitos

Este artículo se supone que ya se ha implementado la autenticación basada en formularios en una aplicación de ASP.NET.Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
308157 Cómo implementar la autenticación basada en formularios en su aplicación de ASP.NET mediante Visual Basic .NET

Asignar las funciones al usuario que se autentica

Dado que los usuarios de formularios normalmente no son usuarios de Microsoft Windows, no tienen las funciones asociadas con ellos de forma predeterminada. Por lo tanto, debe adjuntar las funciones de usuario que se autentica a la identidad del usuario para que pueda implementar la seguridad basada en funciones dentro de su código.

Utilice el código de ejemplo en esta sección para implementar la seguridad basada en funciones en la aplicación. Este código de ejemplo asigna funciones especificadas previamente al usuario que se autentica. Dependiendo de cómo almacenar los datos de usuario, puede implementar su propio método para recuperar las funciones de usuario autenticado y adjuntar esas funciones a la identidad del usuario que se autentica, que se ilustra en el código de ejemplo siguiente.

Copie el código siguiente en el archivo Global.asax de la aplicación existente para asignar las funciones para el usuario autenticado en el controlador de eventos 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 if
End if
End sub
				

Comprobar las funciones de usuario e implementar la lógica del programa en las páginas ASPX

Los pasos siguientes muestran cómo implementar y controlar la lógica del programa según las funciones a la que pertenece el usuario que se autentica.
  1. Cree una nueva página .aspx llamada Sample.aspx y pegue el código siguiente:
    <%@ 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. Guarde Sample.aspx en la aplicación existente. Vaya a la página para probarlo.

Referencias

Información general sobre la seguridad ASP.NET, consulte el artículo siguiente en Microsoft Knowledge Base:
306590 INFORMACIÓN: Introducción a la seguridad ASP.NET
Para obtener más información acerca de la seguridad basada en funciones, consulte la documentación del Kit de desarrollo de Software (SDK) de.NET Framework siguiente:
Seguridad basada en funciones
http://msdn.Microsoft.com/en-us/library/52kd59t0 (puede) .aspx
La documentación y código fuente en el siguiente sitio Web de MSDN también contiene información acerca de la seguridad basada en funciones:
Soluciones de IBuySpy Developer
http://msdn.Microsoft.com/en-us/library/ms978480.aspx
Para obtener más información, consulte los libros siguientes:
Reilly, J. Douglas Diseño de aplicaciones de Microsoft ASP.NET. Microsoft Press, 2001.

Dino Esposito. Creación de soluciones Web con ASP.NET y ADO.NET. Microsoft Press, 2001.
Microsoft proporciona información de contacto de terceros para ayudarle a encontrar soporte técnico. Esta información de contacto puede cambiar sin previo aviso. Microsoft no garantiza la exactitud de esta información de contacto de terceros.

Propiedades

Id. de artículo: 306238 - Última revisión: miércoles, 24 de octubre de 2012 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palabras clave: 
kbproductlink kbhowtomaster kbsecurity kbmt KB306238 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 306238

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com