Проверка подлинности Windows для одного файла - PullRequest
4 голосов
/ 26 марта 2009

Среда: IIS 6.0, ASP.NET 3.5

Мне нужно защитить только один файл с помощью аутентификации Windows, и я просто хочу убедиться, что я правильно понимаю мои параметры.

  1. Через IIS отключить анонимность доступ к файлу, который я хочу безопасно, и убедитесь, что интегрированный Безопасность Windows проверена
  2. Поместите файл в его собственный каталог и поместите туда файл web.config, в котором есть настройка конфигурации авторизации для этого каталога, требующая проверки подлинности Windows

Есть ли способ настроить веб-конфигурацию для управления доступом к одному файлу? Поможет ли мне здесь какой-либо атрибут безопасности, чтобы заблокировать один файл?

Заранее спасибо Kevin

Ответы [ 3 ]

3 голосов
/ 27 марта 2009

Поместите файл в его собственный каталог и поместите туда файл web.config с настройкой конфигурации авторизации для этого каталога, для которого требуется проверка подлинности Windows

Вы не можете смешивать аутентификацию провайдеров для одного приложения. Так, например, у вас не может быть Аутентификация по формам для ~ / и Аутентификация по Windows для ~ / Secure. Вы можете обойти это, сделав ~ / Secure другое приложение в IIS, но это значительно усложняет развертывание и тестирование IMO.

Я столкнулся с этой проблемой, пытаясь защитить службы ASMX с помощью базовой аутентификации из домена, но находясь в том же приложении, что и страницы с проверкой подлинности с помощью форм. В итоге я взломал базовую проверку подлинности в самой службе ASMX, чтобы запросить учетные данные.

2 голосов
/ 27 марта 2009

Это должно быть возможно с помощью тега <location>.

http://support.microsoft.com/kb/316871

Я знаю, что в прошлом я делал обратное и использовал его для обеспечения доступа к одному ресурсу и отказывал всем остальным неаутентифицированным пользователям. Должен работать так же в обратном порядке.

0 голосов
/ 26 марта 2009

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

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