FormsAuthentication: come specificare diversi nomi dei cookie per specifiche sottodirectory / controller MVC?
-
02-10-2019 - |
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
{
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.