Различия между страницей. Пользователь. Идентификационные данные по сравнению с запросом. LogonUserIdentity

Каковы различия (негласно) между Page. Пользователь. Идентификационные данные и Запрос. LogonUserIdentity? Не различия в типе, имени, и т.д. но различиях в том, как они реализованы негласно (т.е. окна вызовов xxx API и другие вызовы asp.net xxx API...).

9
задан jameszhao00 2 February 2010 в 19:14
поделиться

1 ответ

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

Например, на сервере разработки VS с использованием аутентификации Forms, стандартного поставщика членства SQL и следующего кода:

// m_LoggedIn is a Literal control on the page:
m_LoggedIn.Text = string.Format("<br />Page.User.Identity: {0} " + 
                                "<br />Request.LogonUserIdentity: {1}",
                                Page.User.Identity.Name, 
                                Request.LogonUserIdentity.Name);

Я получаю следующий результат:

Page.User.Identity: zhaph

Request. LogonUserIdentity: [ComputerName] \ Ben

Первая строка (Page.User.Identity) - это учетная запись аутентификации форм, с которой я вошел на сайт, вторая строка - это идентификатор Windows, под которым выполняется запрос - как я ' Если олицетворение не включено, это мой вход в Windows, поскольку это учетная запись, под которой работает веб-сервер.

Что касается API, HttpRequest.LogonUserIdentity вызывает класс WindowsIdentity, который всегда будет представлять учетную запись пользователя Windows , а Page.User создает объект, реализующий IPrinciple, который позволяет вам представлять пользователя с помощью ряда различных резервных хранилищ - например, структуры базы данных SQL, предоставляемой MembershipProvider.

19
ответ дан 4 December 2019 в 11:04
поделиться
Другие вопросы по тегам:

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