Почему мое приложение ASP.NET MVC запрашивает проверку подлинности Windows? - PullRequest
1 голос
/ 10 мая 2009

Я собираю приложение ASP.NET MVC и использую проверку подлинности с помощью форм. В моем действии контроллера у меня есть:

[Authorize (Users = "me, joe")]

это прекрасно работает. Прошлой ночью, когда я опубликовал последние изменения и попытался просмотреть свой веб-сайт, на экране появилось диалоговое окно Аутентификация Windows. Я посмотрел на весь свой код и не могу понять, ПОЧЕМУ он изменится на аутентификацию Windows. Мой файл web.config не изменился как минимум за 10 дней. Если я запускаю код из моего окна разработки, он не делает этого ... только когда он запускается с моего хоста. И если я удалю строку Authorize из моего действия контроллера, это не произойдет.

Как это исправить или как отладить свое решение, чтобы понять, почему это происходит?

Кстати, мой web.config говорит:

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>

Ответы [ 3 ]

3 голосов
/ 10 мая 2009

Скорее всего, это относится к настройкам IIS для аутентификации и разрешений для папки веб-сайта на веб-сервере. Я бы проверил оба из них прежде, чем что-либо еще.

1 голос
/ 10 мая 2009

Я просто снимаю в темноте, но у вас есть настройка <identity> в вашем web.config?

 <system.web>
    ...   
    <identity impersonate="true"/>
    ...
 </system.web>

Если это так, это может помочь удалить эту строку. Это может также помочь спросить вашего хостинг-провайдера, почему аутентификация Windows внезапно применяется к вашему веб-сайту. Как уже упоминали другие, есть настройки IIS, которые могут вызывать такое поведение.

0 голосов
/ 10 мая 2009

Я думаю, вам нужно установить разрешения для IUSER, IWAM

С помощью проводника Windows перейдите к папке, для которой вы хотите предоставить разрешения. Щелкните правой кнопкой мыши на папке и выберите «Свойства». В появившемся диалоге нажмите на вкладку «Безопасность» вверху. Затем можно добавить или изменить защиту для этих учетных записей (IUSR_machineName, IWAM_macnineName и ASPNET).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...