Две формы аутентификации LoginUrl - PullRequest
0 голосов
/ 29 августа 2011

Я сейчас создаю систему веб-управления, используя mvc3

В моем приложении у меня есть системный раздел, который требует входа только для администратора. и веб-презентация, которая также имеет форму входа для пользователей, зарегистрированных на сайте.

Я хочу добиться, чтобы, когда незарегистрированный посетитель попытался ввести действие в контроллере, он перенаправил бы на страницу входа

но, когда незарегистрированный посетитель пытается выполнить действие в системном контроллере, он перенаправляет на другой вид входа в систему.

это возможно? Я знаю, что могу поместить эту строку в web.config

<forms loginUrl="~/Account/LogOn" timeout="2880" />

но эта строка всегда перенаправляет пользователя на один и тот же URL-адрес для входа в систему

Могу ли я поместить web.config в папку внутри папки просмотра?

Ответы [ 2 ]

1 голос
/ 29 августа 2011

Вы можете написать собственный атрибут Authorize и переопределить HandleUnauthorizedRequest , в котором вы будете перенаправлены в другое представление входа в систему. Затем просто украсьте SystemController с помощью этого пользовательского атрибута вместо стандартного, который перенаправляет на URL в web.config.

0 голосов
/ 29 августа 2011

loginUrl используется FormsAuthentication.RedirectToLoginPage , но вы можете справиться с этим самостоятельно, используя классический Response.Redirect после аутентификации пользователя.То, что вы не можете сделать, это показать другую страницу входа для администратора или обычного пользователя, так как вы не знаете, какая из них, какая, пока он не войдет в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...