2011-11-18 21 views
13

he estado tratando de seguir este blog para obtener áreas de trabajo:ASP.NET MVC 3 Áreas y autentificación múltiple en web.config

http://mstechkb.blogspot.com/2010/10/areas-in-aspnet-mvc-20.html

En la entrada del blog, que identifica la capacidad de tener la autenticación por set de área, por ejemplo:

<location path="Area1"> 
    <system.web> 
    <authentication mode="Windows" /> 
    <authorization> 
    <allow roles="role1,role2"/> 
    <deny users="*"/> 
    </authorization> 
</system.web> 
</location> 

Sin embargo, cuando intento crear esto en un nuevo proyecto en Visual Studio 2010 se produce el error siguiente cuando corro:

Es un error utilizar una sección registrada como allowDefinition = 'MachineToApplication' más allá del nivel de la aplicación. Este error puede deberse a que un directorio virtual no está configurado como una aplicación en IIS.

Según lo que puedo ver, esto se debe a que no se puede especificar un elemento de autenticación a menos que esté en el nivel superior web.config.

Entonces, ¿es posible hacer lo que dice la entrada del blog? ¿Puedes tener áreas con elementos de autenticación dentro de los elementos de ubicación en web.config?

+0

Hola, ¿has encontrado la manera de hacerlo funcionar? ¿Podría publicar la respuesta aquí? Gracias –

+0

No lo hice funcionar como lo sugirió el blog. Mi solución temporal fue dividir la aplicación web en dos proyectos, uno por tipo de autenticación. No es ideal, ya que terminó con un código duplicado y configuración, aunque me mudé tanto como pude en proyectos comunes. El proyecto fue abandonado por otras razones poco después, por lo que nunca volví a visitar el tema. – eyesnz

Respuesta

-2

Lo que aprendí sobre ASP.NET MVC, siempre es mejor establecer las reglas de autorización con el atributo [Authorization] aplicado a los controladores individuales, porque es más seguro y más adecuado teniendo en cuenta la forma en que funciona el sistema de enrutamiento.

+0

Esto no cambia el mecanismo de autenticación, solo la autorización, es decir, esta acción/controlador requiere acceso autenticado para estos roles/usuarios –

Cuestiones relacionadas