HttpContext. Текущий. Пользователь. Идентификационные данные. Имя всегда является строкой. Пустой

Используйте PHP nl2br, чтобы получить переводы строк в текстовой строке.

$ text = "Ману хороший мальчик. (Введите) Он хорошо умеет кодировать.

echo nl2br ($ text);

Результат.

Ману хороший мальчик.

Он хорошо умеет кодировать.

26
задан Shimmy 29 June 2009 в 04:42
поделиться

3 ответа

FormsAuthentication.SetAuthCookie(tbUsername.Text, true);
bool x = User.Identity.IsAuthenticated; //true
string y = User.Identity.Name; //""

Проблема в том, что на данный момент вы устанавливаете только файл cookie аутентификации, IPrincipal, который создается внутри модуля проверки подлинности форм, не произойдет до тех пор, пока не появится новый запрос, поэтому в этот момент HttpContext.User находится в странном состоянии. Как только произойдет перенаправление, поскольку это новый запрос от браузера, cookie будет прочитан до того, как будет достигнута ваша страница и будет создан правильный объект пользователя.

Файлы cookie устанавливаются в браузере только после завершения запроса.

Так как RedirectFromLoginPage в любом случае создает cookie аутентификации форм, вам не нужно делать это вручную

34
ответ дан 28 November 2019 в 06:31
поделиться

Значение HttpContext.Current.User.Identity.Name устанавливается вызовом RedirectFromLoginPage . Вы можете получить текущий идентификатор пользователя из HttpContext.Current.User.Identity.Name после перенаправления на новую страницу. Я не уверен, зачем вам в этом контексте нужно обращаться к имени пользователя через свойство User, не могли бы вы просто использовать значение, содержащееся в tbUsername.Text?

8
ответ дан 28 November 2019 в 06:31
поделиться

Если вы ищете имя пользователя у поставщика членства, попробуйте что-нибудь вроде этого ...

var user = Membership.GetUser( HttpContext.Current.User.Identity.Name );
0
ответ дан 28 November 2019 в 06:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: