FormsAuthentication: comment spécifier différents noms de cookies pour les sous-répertoires spécifiques / contrôleurs MVC?

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

Question

J'utilise FormsAuthentication (avec les cookies) pour l'authentification des utilisateurs, avec le nom de cookie par défaut ( ".ASPXAUTH").

Ce que je besoin est un système de connexion différent pour le répertoire « / admin / » répertoire virtuel (soutenu par un contrôleur ASP.NET MVC, « AdminController ») ... comme si le « / admin / » est une autre application web , mais sans créer un autre projet web dans ma solution.

Comment puis-je personnaliser, lors de l'exécution, le nom du cookie utilisé par FormsAuthentication? Le FormsAuthentication.FormsCookieName est en lecture seule (et statique ...), et peut être personnalisée qu'une seule fois à l'intérieur du web.config ...

Dois-je créer un FormsAuthenticationModule personnalisé?

Un filtre de contrôleur, comme ce qui suit, pourrait être grande:

[CustomFormsAuthenticationCookie("NewCookieName")]
public class AdminController : Controller
{
Était-ce utile?

La solution

Trick est le cadre d'authentification sous-jacente ne peut vraiment pas gérer cela - vous ne pouvez pas avoir plusieurs formes bits d'authentification en cours d'exécution. solution la plus simple serait de briser les bits d'administration hors dans un site Web distinct qui finissent par vivre ailleurs se et non pris dans l'authentification du site public.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top