FormsAuthentication: come specificare diversi nomi dei cookie per specifiche sottodirectory / controller MVC?

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

Domanda

Sto usando FormsAuthentication (con biscotti) per l'autenticazione degli utenti, con il nome del cookie predefinito ( "ASPXAUTH").

Quello che mi serve è un sistema di login diverso per la "/ admin /" directory virtuale (sostenuta da un controller di ASP.NET MVC, "AdminController") ... come se la directory "/ admin /" era un'altra applicazione web , ma senza creare un altro progetto web dentro la mia soluzione.

Come posso personalizzare, in fase di esecuzione, il nome del cookie usato da FormsAuthentication? Il FormsAuthentication.FormsCookieName è sola lettura (e statico ...), e può essere personalizzata solo una volta all'interno del web.config ...

Devo creare un FormsAuthenticationModule personalizzato?

Un filtro di controllo, come la seguente, potrebbe essere grande:

[CustomFormsAuthenticationCookie("NewCookieName")]
public class AdminController : Controller
{
È stato utile?

Soluzione

trucco è il quadro di fondo di autenticazione davvero non può gestire questo - non si può avere più bit di autenticazione forme in esecuzione. soluzione più semplice sarebbe quella di rompere i bit di amministrazione fuori in un sito web separato che finirebbe per vivere altrove e non farsi prendere in di autenticazione del sito pubblico.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top