Формы аутентификации:как указать разные имена файлов cookie для определенных подкаталогов/контроллеров MVC?

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

Вопрос

Я использую FormsAuthentication (с файлами cookie) для аутентификации пользователей с именем файла cookie по умолчанию (".ASPXAUTH").

Мне нужна другая система входа в виртуальный каталог «/Admin/» (поддерживаемая контроллером ASP.NET MVC «AdminController»)...как если бы каталог «/Admin/» был другим веб-приложением, но без создания другого веб-проекта внутри моего решения.

Как я могу настроить во время выполнения имя файла cookie, используемое FormsAuthentication?FormsAuthentication.FormsCookieName доступен только для чтения (и статический...) и может быть настроен только один раз внутри файла web.config...

Должен ли я создать собственный FormsAuthenticationModule?

Фильтр контроллера, подобный следующему, может быть полезен:

[CustomFormsAuthenticationCookie("NewCookieName")]
public class AdminController : Controller
{
Это было полезно?

Решение

Хитрость заключается в том, что базовая структура аутентификации действительно не может справиться с этим - вы не можете использовать несколько битов аутентификации с помощью форм.Самым простым решением было бы выделить часть административной части на отдельный веб-сайт, который в конечном итоге будет жить в другом месте и не будет заниматься аутентификацией общедоступного сайта.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top