Ограничить доступ к веб-сайту .Net группой компьютеров Active Directory. - PullRequest
1 голос
/ 11 декабря 2010

Мы проводим проверку подлинности на основе компьютеров, чтобы любой пользователь на определенных компьютерах мог получить доступ к нашему сайту .Net.Список машин изменится, но все они находятся во внутренней сети.Предполагается, что их IP-адреса не являются статическими.

Чтобы сделать его более управляемым, мы хотели бы иметь возможность ограничить доступ к группе компьютеров Active Directory.

Я могу управлять запросами AD, мой вопрос где лучшее место, чтобы вытащить имя машины и аутентифицировать весь сеанс?

Я пытался создать новый HttpModule, но, похоже, мне придется аутентифицировать каждыйзапрос.Аутентификация каждого запроса не кажется идеальной, если используется запрос AD.

Ответы [ 2 ]

3 голосов
/ 11 декабря 2010

Сеть не имеет состояния, поэтому каждый запрос всегда проходит проверку подлинности независимо от используемой технологии. Однако хитрость в том, чтобы не забивать AD, заключается в использовании http-файла cookie сеанса. Вы должны установить этот файл cookie при первом запросе и проверить его при последующих запросах. Вам понадобится какая-то криптографическая защита куки, но, к счастью, она уже готова в ASP.NET. Я бы сказал, что вы можете использовать инфраструктуру проверки подлинности с помощью форм для установки и проверки файла cookie - вы просто перенесете первоначальную проверку подлинности в AD вместо чтения из опубликованной формы.

Вот отличное место для начала:

Понимание билета проверки подлинности с помощью форм и файла cookie http://support.microsoft.com/kb/910443

1 голос
/ 11 декабря 2010

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

...