Как я могу получить информацию о сети пользователей, когда он пытается пройти аутентификацию в моем IIS? - PullRequest
0 голосов
/ 19 января 2012

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

Однако - вход за пределы локальной сети должен инициировать двухуровневую аутентификацию (например, SMS, почта или подобное). Как мы можем получить информацию о сети пользователей, когда они пытаются войти в приложение из-за пределов локальной сети?

NB - не имеет значения, есть ли у вас пользователь AD и pwd. Если вы находитесь снаружи, вы должны активировать 2 уровень аутентификации.

NB2 - мы не хотим, чтобы выполнялись какие-либо клиентские сценарии, поэтому это должно быть что-то, что идет с первоначальным запросом

Технология: IIS 7, ISA 2006, .Net 4, сервер MS Sql 2008.

Вопрос также задают здесь: https://serverfault.com/questions/354183/what-2-level-authentication-mechanism-is-available-that-can-differentiate-if-the

Информация, почему ISA-сервер удаляет нужную мне информацию: http://www.redline -software.com / eng / support / Articles / isaserver / security / x-forwarded-isa-track.php

1 Ответ

1 голос
/ 19 января 2012

Если это разумно, не подвергайте свой веб-сервер чему-либо, находящемуся за пределами вашей локальной сети - требуется доступ к VPN.

Если это не разумно, вы можете использовать переменную REMOTE_ADDR, чтобы определить источник запроса. Внесите в белый список свою ЛВС как однофакторную, а все остальное должно быть многофакторной. В зависимости от сценария переменные сервера будут аналогичны либо

Context.Request.ServerVariables ["REMOTE_ADDR"]

или

Request.UserHostAddress()

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

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