Вам не нужны ни таблицы, ни одна строка кода. Для сайта в интрасети лучше всего использовать HTTP-согласование проверки подлинности и использовать членство в группе Active Directory для авторизации:
- Создание группы безопасности домена для пользователей, имеющих доступ к сайту
- Добавить авторизованных пользователей в эту группу
- На вашем сервере IIS добавьте модуль UrlAuthorizationModule в IIS (из функции добавления / удаления программ)
- На вашем сайте появится новый значок «Правила авторизации», позволяющий настроить безопасность для вашего сайта
- Измените безопасность сайта, чтобы только члены группы, которую вы создали ранее, могли просматривать ваш сайт
- Наслаждайтесь
Это идеальная настройка, когда страницы сайта никогда не заботятся о личности подключенного пользователя, но в целом сайт должен быть ограничен набором доверенных / авторизованных пользователей. IIS позаботится об аутентификации и авторизации, и вы можете настроить ответ 403 страницы для пользователей, не авторизованных. Весь процесс аутентификации происходит на уровне HTTP, нет «пользователя» для «шифрования» в URL или чего-либо подобного. IIS бросит вызов браузеру с помощью проверки подлинности SPNEGO, и все браузеры знают, как с этим справиться, отвечая согласованием, которое проверяет подлинность текущего зарегистрированного пользователя *1020* на рабочей станции w, которая просматривает сайт (он же интегрированная проверка подлинности) , Подробнее см. Настройка правил авторизации URL в IIS 7 .
Вы можете перестать читать здесь, если вам не нужно путать.
Если вы хотите изучить все детали, обратите внимание, что это , а не , то же самое, что и модуль авторизации URL ASP.Net, в котором вы найдете множество ссылок, которые вы настраиваете из Файл .config. См. Различия между авторизацией URL ASP.NET и авторизацией URL IIS 7.0 .
Если ваш код действительно нуждается в идентификации вызывающего абонента (например, для целей аудита), вы должны добавить управляемый модуль, который передает информацию аутентификации в ваш домен приложения. Этот модуль является UrlAuthorization управляемым модулем. Обратите внимание, что для идеальной путаницы 1-2 модуль называется UrlAuthorization, но он реализован в управляемом модуле с именем UrlAuthorizationModule, который не совпадает с истинным собственным IIS модулем UrlAuthorizationModule ...
Если вам нужно олицетворять вызывающего, тогда все станет сложнее, так как вам придется настроить доверенное делегирование. Для этого вы настраиваете Олицетворение ASP.Net , а затем включаете ограниченное делегирование, чтобы иметь возможность обращаться к SQL Server из пула приложений ASP.Net, см. Как: использовать передачу протокола и ограниченное делегирование в ASP.NET 2.0 (IIS 7.0 аналогичен).
И, наконец, есть проблема, если вы хотите, чтобы код вашего приложения вел себя по-разному в зависимости от личности вызывающего (т. Е. Покажите параметры администратора), и для этого, вероятно, лучше всего использовать поставщика членства в роли . интегрировано с Active Directory, например WindowTokenRoleProvider.