Используя этот код, который я сделал, чтобы упростить свою задачу:IIS против локальный Context.User.IsInRole()
<%@ Page Language="c#" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>Am I me</title>
<script language="c#" runat="server">
private void Page_Load(object sender, System.EventArgs e) {
Label2.Text = "I am " + HttpContext.Current.User.Identity.Name;
bool result = Context.User.IsInRole(HttpContext.Current.User.Identity.Name);
Label1.Text = "Am I me? " + result;
result = HttpContext.Current.User.IsInRole(HttpContext.Current.User.Identity.Name);
Label1.Text += " Am I myself now? " + result;
}
</script>
</HEAD>
<body>
<form id="Form1" runat="server">
<div>
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
</div>
<div>
<asp:Label id="Label1" runat="server" Width="100%" Height="280px"></asp:Label>
</div>
</form>
</body>
</HTML>
Когда я работает этот код локально он отлично работает:
Но когда я запускаю его на нашем сервере IIS:
Кто-нибудь знает, что происходит?
Я использую windows-аутентификацию на сайтах интрасети, чтобы уточнить. Также имена пользователей совпадают.
Возможно, вам необходимо внести некоторые изменения в файл web.config, возможно, имя файла cookie/домен – Aristos
@Aristos Я не использую файлы cookie на этой странице. Части web.config, которые могут повлиять на него? ' \t ' –
Hillboy