RedirectFromLoginPage () не обновляет User.Identity.Name - PullRequest
0 голосов
/ 03 июня 2010

Я использую FormsAuthentication.RedirectFromLoginPage(userName.Trim(), false);, чтобы установить поле User.Identity.Name, на которое я ссылаюсь позже. Когда я выполняю эту строку, объект User.Identity вообще не обновляется; он содержит все, что было ранее установлено. Вся документация, которую я вижу онлайн, говорит, что это должно обновить мой объект User.Identity с правильным именем, но я не вижу, чтобы это произошло

У меня правильно настроена веб-конфигурация со следующими строками:

<authentication mode="Forms">
    <forms name="formsauth" loginUrl="Login.aspx" protection="All" timeout="60">
    </forms>
</authentication>
<authorization>
    <deny users="?"/>
</authorization>

Я относительно новичок в этом, поэтому любая помощь приветствуется. Спасибо!

1 Ответ

1 голос
/ 03 июня 2010

Он будет обновлен при следующем запросе, но не в следующей строке после него. RedirectFromLoginPage устанавливает cookie-файл аутентификации в клиентском браузере, который будет прочитан при следующем запросе клиента, и вы увидите, что свойство User.Identity.Name обновлено. Обновление этого свойства в том же HTTP-запросе не имеет смысла, так как вы уже знаете, что пользователь прошел аутентификацию, как вы вызвали метод.

...