ASP.Net (MVC) перенаправляет в форму входа в систему, когда я генерирую HttpUnauthorizedResult? - PullRequest
1 голос
/ 04 июня 2009

Я на самом деле использую ASP.Net MVC, но я думаю, что это применимо и к ASP.Net.

Исследуя, как работает авторизация, я пришел к выводу, что ASP.Net MVC генерирует HttpUnauthorizedResult, когда пользователь не авторизован и должен быть. А затем ASP.Net читает из моего Web.config:

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

и генерирует фактический URL и результат перенаправления. Или сформулировано по-другому: правильно ли сказать, что приложение ASP.Net MVC никогда не генерирует URL перенаправления?

Моя проблема в том, что я хочу добавить некоторые вещи в URL перенаправления, но единственное, что я могу сделать, это перехватить HttpUnauthorizedResult и сгенерировать полное перенаправление URL с нуля. Может быть, в ASP.Net есть метод, который бы дал мне перенаправление на основе моего файла конфигурации, чтобы мне не пришлось читать файл конфигурации самостоятельно?

Ответы [ 2 ]

1 голос
/ 04 июня 2009

Попробуйте это - System.Web.Security.FormsAuthentication.RedirectToLoginPage (string extraQueryString) , где extraQueryString - строка запроса, включаемая в URL перенаправления.

0 голосов
/ 04 июня 2009

URL без добавления каких-либо автоматических элементов, таких как ReturnURL, в том виде, как он настроен, можно получить с помощью:

System.Web.Security.FormsAuthentication.LoginUrl
...