2010-09-20 9 views
8

Estoy usando MVC con autenticación de formularios y necesito autenticación de derivación para uno de mis controladores, ¿es posible omitir la autenticación de Cotroller (s)/Action (s)? He estado en ASP.NET MVC Forms authentication and unauthenticated controller actions, pero no quiero restringir ninguna acción para un usuario/rol, quiero permitirlo de forma anónima.MVC Authentication bypass para un único controlador/acción

¿Alguien puede ayudar en este sentido.

+0

la solución de controlador base en la última respuesta parece resolver su problema –

+1

@Nicholas - Esa opción se puede adoptar cuando se inicia un proyecto, en un proyecto completado el cambio de todos los controladores es un riesgo que no me gustaría tomar Gracias de todos modos por la mano amiga. –

+0

¿Alguna vez descubrió esto? – andy

Respuesta

7

La solución de etiqueta de ubicación publicada en la página linked to en realidad funciona para MVC. Los controles de autorización en torno a esa patada en el marco antes de MVC tiene la oportunidad de manejar la petición:

<configuration> 
    <location path="~/MyAnonymousController"> 
    <system.web> 
     <authorization> 
     <allow users="?"/> 
     </authorization> 
    </system.web> 
    </location> 
</configuration> 

También tenga en cuenta que se puede poner archivos web.config en subdirectorios en su aplicación. Entonces, por ejemplo, puede colocar su controlador de acceso anónimo en su propio subdirectorio y agregar un web.config en ese directorio con una etiqueta de ubicación para permitir el acceso anónimo a todo en ese directorio: Web.config: Wildcards in location and authorization

+0

La solución es bastante buena, pero es lo suficientemente tarde como para implementarla ahora, gracias de todos modos por su ayuda. –

1

Revise lo siguiente blog, que trabajó para mí:

http://blog.tomasjansson.com/securing-your-asp-net-mvc-3-application

+1

gracias, pero si sigue con la pregunta, ya tiene casi 2 años, y la solución que publicó tiene un año de antigüedad y una versión de MVC diferente, de todos modos, gracias por su ayuda. –

+1

Además, no publique respuestas solo de enlace. – Joe

+0

El enlace que publicó Satpal es exactamente la solución que estaba buscando, así que estoy de acuerdo con una respuesta de solo enlace en este caso. –

Cuestiones relacionadas