Как я прохожу проверку подлинности против Active Directory из кода веб-сервиса ASP.NET?

Я сделал предложение в вопросе StackOverflow, путь к выполняет пакетный файл в фоновом режиме (, никакие окна DOS не отобразились )

, Который должен ответить на Ваш вопрос.

Здесь это:

Из Вашего первого сценария, назовите свой второй сценарий со следующей строкой:

wscript.exe invis.vbs run.bat %*

На самом деле, Вы называете vbs сценарий с:

  • [путь] \name Вашего сценария
  • все другие аргументы, необходимые Вашему сценарию (%*)

Затем invis.vbs, назовут Ваш сценарий с Windows Script Host Run () метод , который берет:

  • intWindowStyle: 0 означает "невидимые окна"
  • bWaitOnReturn: ложь означает, что Ваш первый сценарий не должен ожидать Вашего второго сценария для окончания

, Посмотрите вопрос для полного invis.vbs сценария:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False
                                                         ^
                             means "invisible window" ---| 

Обновление после обратной связи Tammen:

, Если Вы находитесь на сессии DOS и Вы хотите запустить другой сценарий "в фоновом режиме", простое /b (как детализировано в тот же вышеупомянутый вопрос ) может быть достаточно:

можно использовать start /b second.bat для запуска второго пакетного файла асинхронно от первого, которое совместно использует первое окно.

9
задан Mike C. 31 July 2009 в 12:12
поделиться

3 ответа

Вы можете упростить это, предоставив подрядчикам другой портал входа в систему /affiliates.

0
ответ дан 5 December 2019 в 02:08
поделиться

Я думаю, что здесь есть несколько уровней, каждый из которых имеет свой вопрос:

Как я могу получить доступ к веб-сервису в моей локальной сети из DMZ?
Это сложный вопрос, поскольку он действительно нарушает концепцию разделения DMZ / LAN. Как правило, соединения между LAN и DMZ разрешены (и на ограниченной основе) только со стороны LAN - таким образом, компримированная DMZ не может инициировать контакт с LAN и чрезвычайно ограничена в том, что она может делать (это не может быть проблемой произвольные запросы, отвечать только на запросы из локальной сети).

Как я могу использовать службу на другом компьютере для аутентификации имени пользователя / пароля?
Опять же, это сложная проблема - вы передаете пароли по сети - возможно ли их перехват. В AD это решается с помощью kerberos - системы запроса / ответа, которая гарантирует, что пароль никогда не передается. Конечно, Kerberos и подобные протоколы довольно сложны - вам никогда не следует пытаться использовать свои собственные, поскольку они, вероятно, будут менее безопасными, чем использование чего-то существующего - например, ваш веб-сервис может работать на https, так что, по крайней мере, пароли будут только открытым текстом на два сервера, а не канал связи между ними. Сертификаты также могут использоваться для предотвращения перенаправления трафика, предназначенного для веб-службы вашей локальной сети, на компилированную машину DMZ (компилированная машина DMZ не сможет подделать сертификат, и поэтому ваша система может определить, что она подключена к поддельному серверу, перед отправкой сведений для аутентификации)

По моему собственному опыту, эти проблемы приводят к тому, что AD вне локальной сети просто не выполняется. Компании предпочитают либо подключать внешних людей к локальной сети, используя VPN, аутентифицированные с помощью ключей RSA (те маленькие цепочки для ключей, которые показывают постоянно меняющийся набор чисел), либо они используют полностью отдельный набор учетных записей для служб зоны DMZ.

1
ответ дан 5 December 2019 в 02:08
поделиться

Возможно, вы захотите взглянуть на эти два ресурса. Первый предоставит вам все, что вы хотите знать об активном каталоге, а второй покажет вам, как подключиться.

Однако у вас могут возникнуть проблемы с подключением к удаленному серверу AD. Поэтому в качестве потенциального решения я бы рассмотрел возможность вызова веб-приложением веб-службы аутентификации, которая находится в корпоративной сети.

1
ответ дан 5 December 2019 в 02:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: