Кассини игнорирует авторизацию роли Win NT, IIS 7.5 все в порядке - PullRequest
1 голос
/ 09 сентября 2011

У меня приложение ASP.NET MVC 3, работающее как на моем локальном компьютере разработчика (Win7), так и на промежуточном сервере (W2k8r2).Приложение работает в обеих средах до тех пор, пока не будет включена безопасность авторизации ASP.NET для Windows.

После защиты веб-приложения оно продолжает работать корректно на промежуточном сервере, но генерирует 401.2 отказа в доступе на моем локальном устройстве разработчика.Единственное существенное различие, которое я вижу, это локальное устройство разработки, я использую Cassini через Visual Studio, тогда как сервер - IIS7.5.

Используется авторизация Windows + олицетворение.Что может привести к тому, что Cassini сгенерирует отказ в доступе 401.2?

Web.config:

<system.web>
   <authentication mode="Windows" />
   <identity impersonate="true" />
   <!-- replication of system.webServer security settings for cassini which doesn't process them... -->
   <authorization>
       <allow roles=".\Test Application - Users" />
       <deny users="*" />
   </authorization>
</system.web>
<system.webServer>
   <validation validateIntegratedModeConfiguration="false" />
   <modules runAllManagedModulesForAllRequests="true" />
   <security>
      <authorization>
          <remove users="*" roles="" verbs="" />
          <add accessType="Allow" users="" roles="Test Application - Users" />
      </authorization>
  </security>

FYI Соответствующие пользователи находятся в Windows «Тестовое приложение - Пользователи»группа безопасности в каждой системе.

Решение

Основная проблема в коробке разработчика оказалась такой:

  1. Кассини не делает• не поддерживает олицетворение идентичности и
  2. Хотя пользователь добавил в соответствующие группы NT, он не вышел из системы и не включил ее и, таким образом, идентификаторы SID группы, связанные с их Windowsтокен не был обновлен

Если бы Кассини поддерживал олицетворение, я сомневаюсь, что это было бы проблемой, потому что новый токен был бы установлен в контексте олицетворения.Спасибо @ x0n за указание в правильном направлении.

Ответы [ 2 ]

2 голосов
/ 09 сентября 2011

Я не совсем уверен, но я не думаю, что Кассини может выдать себя за человека (однако, это может быть экспресс).

0 голосов
/ 15 января 2013

В панели обозревателя решений выберите веб-проект и нажмите F4 . (не правой кнопкой мыши + свойства, это разные) - это покажет панель свойств

В свойствах панели задайте: Аутентификация Windows : Включить анонимная аутентификация : отключено

Запустите свой проект, Счастливые дни!

...