FormsAuthentication: cómo especificar nombres diferentes de galletas para los subdirectorios específicos / controladores MVC?

StackOverflow https://stackoverflow.com/questions/3712798

Pregunta

Estoy usando FormsAuthentication (con galletas) para la autenticación de usuarios, con el nombre de la cookie predeterminado ( ".ASPXAUTH").

Lo que necesito es un sistema de acceso diferente para el "/ / Admin" directorio virtual (respaldado por un controlador de ASP.NET MVC, "AdminController") ... como si el "Admin / /" directorio fue otra aplicación web , pero sin crear otro proyecto web dentro de mi solución.

¿Cómo puedo personalizar, en tiempo de ejecución, el nombre de la cookie utilizada por FormsAuthentication? El FormsAuthentication.FormsCookieName es de sólo lectura (y estática ...), y se puede personalizar solamente una vez dentro del web.config ...

¿Debo crear un FormsAuthenticationModule personalizada?

Un filtro de controlador, como la siguiente, podría ser grande:

[CustomFormsAuthenticationCookie("NewCookieName")]
public class AdminController : Controller
{
¿Fue útil?

Solución

Trick es el marco de autenticación subyacente realmente no puede manejar esto - no se puede tener múltiples bits de autenticación de formularios en ejecución. La solución más fácil sería romper los bits de administración fuera en un sitio web independiente que terminan viviendo en otro lugar y no quedar atrapado en la autenticación del sitio público.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top