У меня есть сайт ASP.NET, работающий в IIS7 в локальной интрасети. Я хочу ограничить доступ к этому сайту для определенной группы пользователей. Я думаю, что смогу сделать это, используя проверку подлинности Windows в IIS, но у меня проблемы.
Я включил функцию проверки подлинности Windows в IIS, и я включил проверку подлинности Windows на своем сайте в inetmgr. Я установил аутентификацию в web.config для своего сайта:
<authentication mode="Windows" />
Судя по тому, что я прочитал, это должно быть все, что мне нужно сделать ... но, похоже, ничего не происходит. Я попытался ограничить доступ с помощью безопасности каталога в Windows и смог запретить доступ всем пользователям, удалив доступ для чтения к каталогу. Но тогда я не смог восстановить доступ для определенных пользователей. Похоже, что IIS не знает, кем является пользователь, запрашивающий страницу, как будто он никогда не выполнял никакой аутентификации.
Я что-то упускаю?
Не могу комментировать - извините.
Основываясь на этом "разрешить элемент для авторизации", вы должны иметь возможность указывать каждого пользователя как группу. Т.е.
<configuration>
<system.web>
<authorization>
<allow users="DOMAIN/robert.real, DOMAIN/silvia.dell" \>
<deny users="*" \>
</authorization>
</system.web>
</configuration>
Вы также можете сделать так, чтобы разрешена только проверка подлинности Windows.
Откройте проводник Windows на сервере. Найдите папку сайта и откройте свойства. На вкладке безопасности удалите все разрешения и дайте права чтения только этой группе домена, и это будет работать.