2008-11-28 13 views
5

Quiero hacer una autenticación simple papel en .NET - pero estoy perdido en la profusión de apis ...autenticación simple papel en asp.net

me gustaría tener un web.config por directorio con el papel acceso como:

<authorization> 
    <allow roles="admin"/> 
    <deny users="*"/> 
</authorization> 

Y en mi página de inicio de sesión, donde hago FormsAuthentication.RedirectFromLoginPage quiero especificar el papel del usuario conectado (administrador, usuario, etc ...) no tengo ninguna necesidad de que el RoleManagementProviders y la función sobrecapacitada (en mi caso) de RoleManagement.

¿Qué API necesito para especificar solo el rol de un usuario?

Gracias

Respuesta

7

Aquí hay un enlace sobre una implementación de Autenticación de formularios muy simple con roles. Creo que esta es la aplicación más básica de autenticación de formularios: http://www.codeproject.com/KB/web-security/formsroleauth.aspx

Aquí está uno en el proveedor de pertenencia: http://www.asp.net/learn/moving-to-asp.net-2.0/module-08.aspx Puede que tenga que buscar tutoriales adicionales para tener una idea clara sobre cómo personalizarlo.

Prefiero el proveedor de membresía porque le permite anular los valores predeterminados y proporcionar su propio almacén de datos y los métodos utilizados para las diferentes acciones de autenticación. Encuentro que es más fácil que usar la implementación básica.

+0

Gracias. Esta es una buena información. – LeJeune

-1

Personalmente si se va a utilizar la administración de funciones y funcionalidad para el usuario ya presentada en ASP.NET ¿por qué tratar de hackear juntos una solución que por el camino limitará su capacidad para expandirse.

Trabajar con la funcionalidad predeterminada para la asignación de roles es fácil, y no tiene que preocuparse por la creación adecuada de la información de identidad para el usuario.

+0

No puedo usar la funcionalidad predeterminada, ya que no tengo un SQL donde puedo crear todas las tablas necesarias b y la membresía de la función. Necesito encontrar una manera alternativa. – LeJeune

0

Tenga en cuenta que para usar el modelo de proveedor de funciones no es necesario usar una base de datos y un esquema, existen opciones más simples. Puede que le interese usar Authorization Manager (una descarga gratuita de Microsoft) que le permite agregar un proveedor de roles a una aplicación ASP.NET y configurar los roles y permisos con su herramienta (un complemento de MMC al que se accede a través de Herramientas administrativas).

How To: Use Authorization Manager with ASP.NET 2.0

La configuración expuesta por la herramienta se almacena en un archivo XML que se hace referencia en el web.config aplicaciones:

<connectionStrings> 
    <add name="LocalPolicyStore" connectionString="msxml://C:/AzManStore.xml"/> 
</connectionStrings> 

que luego pueden ser referenciados al configurar la aplicación para utilizar el proveedor de roles de Authorization Manager:

<roleManager enabled="true" defaultProvider="RoleManagerAzManProvider"> 
    <providers> 
    <add name="RoleManagerAzManProvider" 
     type="System.Web.Security.AuthorizationStoreRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, publicKeyToken=b03f5f7f11d50a3a" 
     applicationName="MyApp" 
     connectionStringName="LocalPolicyStore"/> 
    </providers> 
</roleManager> 
Cuestiones relacionadas