У нас есть простой сайт интрасети в MVC3 и структуре сущностей. Все отлично работает при отладке из Visual Studio. Когда я публикую сайт либо на своем локальном веб-сервере IIS7.5, либо в модуле разработчика в том же домене, мне предлагается ввести имя пользователя и пароль, и он не будет подключаться к сайту. Он просто возвращает 401.1 и, как ни странно, показывает
Logon Method Not yet determined
Logon User Not yet determined
Я проверил, что проверка подлинности Windows включена, а анонимная проверка подлинности отключена. приложение использует applicationPoolIdentity, но я пробовал его с сетевыми службами без разницы. Webconfig включает
<authentication mode="Windows" />
, и я пробовал его с разделом авторизации и без него.
<authorization>
<allow users="*" />
</authorization>
Единственное, что я нашел в Интернете, это изменение записи реестра, но в конечном итоге это будет на рабочем сервере, поэтому мне неудобно вносить изменения в реестр только для этого.
, выполняемый локально с этим блоком кода, возвращает всю ожидаемую информацию.
<div id="title">
<h4> Environment.UserName: @Environment.UserName
@DateTime.Now.Millisecond.ToString() </h4>
@foreach (var role in Roles.GetRolesForUser())
{
role.ToString(); <br />
}
</div>
<div id="logindisplay">
Context.User.Identity.Name <strong>@Context.User.Identity.Name</strong>!<br />
@Environment.UserDomainName
</div>
Это веб-приложение MVC3. Переключатели аутентификации IIS:
Anonymous Authentication Disabled
ASP.NET Impersonation Disabled
Forms Authentication Disabled
Windows Authentication Enabled
Какие-то еще идеи или вещи, которые мне не хватает?