У меня есть приложение ASP.Net, использующее проверку подлинности Windows, и я указал роль, которая есть в моей AD и в моем локальном окне разработки, все выглядит хорошо.Когда я выполняю развертывание на своем тестовом веб-сервере, имя пользователя, отображаемое с помощью элемента управления ASP LoginName, показывает идентичность, локальную для сервера, а не мою фактическую учетную запись в домене, в котором я в данный момент вошел в систему, как на моем локальном компьютере.Что дает?
ОБНОВЛЕНИЕ: Я использую Windows XP SP3 с сервером разработки IIS (не IIS, даже если IIS установлен).Я создал новый тестовый сайт (пустой веб-шаблон от VWD2010 Express).Единственная конфигурация, которую я до сих пор выполнял, была на странице Default.aspx, я добавил:
<asp:LoginName ID="LoginName1" runat="server" FormatString="Welcome {0}!" /><br />
<asp:Label ID="RoleLabel" runat="server"></asp:Label>
А затем в коде я добавил:
if (User.IsInRole("IPSCODOM\\SAFETY OBSERVATION"))
{
this.RoleLabel.Text = "You are in the SAFETY OBSERVATION role";
}
else {
this.RoleLabel.Text = "You are NOT in the proper role!";
}
Теперь, когда я запускаюпри отладке на экране отображается следующее:
Это вывод, который я ожидал.НО, когда я развертываю сайт (опять же, никакой другой конфигурации на сайте) на тестовом сервере (Server 2003 R2 с IIS 6.1), результаты совершенно разные.Возвращенный пользователь - это пользователь, которого мы используем для входа на этот сервер (но это учетная запись домена).Пул приложений настроен для входа в систему с использованием учетной записи сетевой службы (которую я пробовал для всех трех: система, локальная служба и сетевая служба), а служба веб-публикаций использует для входа учетную запись локальной системы.Я отключил анонимный доступ к сайту, и когда я снова захожу на сайт, на нем снова отображается учетная запись пользователя, отличная от моей зарегистрированной учетной записи.
Что я делаю не так?