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

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

En esta página

Resumen

En este artículo se describe cómo implementar la seguridad basada en funciones en una aplicación ASP.NET que implementa autenticación basada en formularios mediante Visual C# .NET


Requisitos

En este artículo se supone que ya ha implementado la autenticación basada en formularios en una aplicación ASP.NET.
301240 Cómo: Implementar la autenticación basada en formularios en su aplicación ASP.NET mediante C# .NET

Asignar las funciones al usuario que se autentica

Puesto que los usuarios de formularios no suelen ser usuarios de Microsoft Windows, no tienen ninguna función asociada a ellos de forma predeterminada. Por tanto, debe adjuntar las funciones del usuario que se autentica a su identidad de forma que pueda implementar la seguridad basada en funciones dentro del código.

Utilice el código de ejemplo de 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 almacene los datos de usuario, puede implementar su propio método con el fin de recuperar las funciones para dicho usuario autenticado y adjuntarlas a la identidad del usuario que se autentica, lo que se muestra 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 al usuario que se autentica en el controlador de eventos Application_AuthenticateRequest:
 public void Application_AuthenticateRequest( Object src , EventArgs e ) { if (!(HttpContext.Current.User == null)) { if (HttpContext.Current.User.Identity.AuthenticationType == "Forms" ) { System.Web.Security.FormsIdentity id; id = (System.Web.Security.FormsIdentity)HttpContext.Current.User.Identity; String[] myRoles = new String[2]; myRoles[0] = "Manager"; myRoles[1] = "Admin"; HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id,myRoles); } } } 

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

En los pasos siguientes se muestra cómo implementar y controlar la lógica del programa basándose en las funciones pertenecientes al usuario que se autentica.
  1. Cree una nueva página .aspx denominada Sample.aspx y pegue el código siguiente:
     <%@ Page Language="C#" %> <%@ Import Namespace="System.Web" %>
    
      <script runat=server> public void Page_Load() { if (User.IsInRole("Admin")){ Response.Write ("Es un administrador");} else { Response.Write ("No tiene ninguna función asignada");} }
    
      </script> 
  2. Guarde Sample.aspx en la aplicación existente. Vaya hasta la página para probarla.

Referencias

Para obtener más información acerca de funciones de seguridad de ASP.NET, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
306590 INFO: Introducción a la seguridad de ASP.NET
Para obtener información sobre la seguridad basada en funciones, consulte la siguiente documentación del Kit de desarrollo de software (SDK) de .NET Framework:
Seguridad basada en funciones
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconrole-basedsecurity.asp
La documentación y el código fuente del siguiente sitio Web de IBuySpy Developer Solutions también contiene información sobre seguridad basada en funciones:
IBuySpy Developer Solutions
http://www.ibuyspy.com
Microsoft proporciona información de contacto con otros proveedores para ayudarle a encontrar soporte técnico. Esta información de contacto puede cambiar sin previo aviso. Microsoft no ofrece ninguna garantía con respecto a la exactitud de esta información de contacto con otros proveedores.

Propiedades

Id. de artículo: 311495 - Última revisión: martes, 16 de agosto de 2005 - Versión: 3.7
La información de este artículo se refiere a:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual C# .NET 2003 Standard Edition
Palabras clave: 
kbhowtomaster kbsecurity KB311495

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