Обратный поиск DNS для проверки удаленного хоста в MVC 2 C # - PullRequest
0 голосов
/ 19 января 2011

Я работаю над порталом и хочу определить, есть ли пользователи в нашем домене.Мне сказали, что лучший способ сделать это - выполнить обратный поиск DNS для проверки удаленного хоста и наличия пользователя в нашем домене, а затем войти в него, используя свои учетные данные AD.

Мы хотим, чтобыпользователь должен войти в систему, если он находится в нашем домене:

Сначала мы проверим диапазон IP-адресов, а затем обратный поиск DNS ...

В другой системе мы используем этот код вСтраница ASP

Dim oIIS
Dim vEnableRevDNS
Dim vDisableRevDNS

vEnableRevDNS = 1
vDisableRevDNS = 0

Set oIIS = GetObject("IIS://localhost/w3svc/1/ROOT")
oIIS.Put "EnableReverseDNS", vEnableRevDNS
oIIS.SetInfo
Set oIIS = Nothing

Есть ли способ сделать это в MVC 2: C #?

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

Будет доступ к интрасети / экстрасети и общедоступным пользователям - у каждого будет свой логинпроцесс - я хочу использовать обратный DNS исключительно как механизм для направления к точке входа.

Спасибо за любые указатели.

1 Ответ

2 голосов
/ 19 января 2011

Обратный DNS не является сильным механизмом аутентификации.

Встроенная проверка подлинности Windows является опцией IIS / ASP.NET. Вы включаете его, а браузер и IIS обрабатывают все остальное. Пользователи приходят на ваше приложение аутентифицированным. (Убедитесь, что у вас отключен анонимный доступ)

Редактировать: DNS вообще не является механизмом аутентификации. Кто бы ни написал вашу техническую спецификацию, он должен пойти и прочитать о том, как на самом деле работает встроенная аутентификация Windows (NTLM / Kerberos).

Достаточно сказать, что он не зависит от записи DNS, назначенной вашему компьютеру.

Редактировать 2:

Чтобы встроенная проверка подлинности Windows была бесшовной, на клиентском компьютере необходимо три вещи:

  • Использование браузера, поддерживающего NTLM / Kerberos-Auth (Internet Explorer и с правильными настройками: Firefox)
  • Использование компьютера, который является членом этого домена Active Directory (это также может работать для других доверенных доменов AD)
  • Войдите в учетную запись домена AD.

С этим вы получите автоматический вход. Нет подсказок, вы просто там.

Если, однако, вы их не соблюдаете, то в Internet Explorer и Firefox вы получите стандартный запрос пароля (не в вашем приложении, а только в стандартном браузере). У вас нет возможности показать дружественное сообщение об ошибке, поскольку оно обрабатывается вне контекста вашего приложения.

Если пользователь использует браузер, который не «поддерживает NTLM / Kerberos», вы либо получите бесконечные запросы аутентификации, либо браузер просто отобразит страницу «Отказано в доступе».

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