Какую учетную запись ASP (классик) выполняет под тем, когда интегрированная аутентификация Windows идет?

Я действительно предлагаю разделить MySQL и Apache/PHP на двух различных машинах.

Например, у меня была одна машина (C2D E6600), который всегда пронзал к 2,0 и выше среднего числа загрузки. Я поместил MySQL на вторую машину (P4C 3 ГГц), и после этого оба средних числа загрузки не выходили за предел 0.2-0.3. Таким образом, я пошел от действительно медленного сайта до быстрого сайта с двумя серверами, имеющими много поля производительности.

1
задан 8 July 2009 в 22:19
4 ответа

Классические выполнения ASP, исполняющие роль пользователя, который аутентифицируется на сервере на Сеансе HTTP. Необходимо предоставить пользователям, которые проходят проверку подлинности, чтобы выполнить классическое разрешение приложения ASP или предоставить анонимный доступ.

Если бы Вы уже судили "Аутентифицируемых Пользователей", и это не работает затем, я сказал бы, что у Вас нет проблемы разрешения файла.

Что Вы имеете в виду, когда Вы говорите, "что... файл ASP пытается вызвать веб-сервис..."? Вы говорите, что сценарий ASP делает Запрос HTTP назад к серверу? Если так, учетные данные пользователя не собираются проводиться в том запросе, потому что "Интегрированная аутентификация Windows" не дает серверу незашифрованный пароль для использования при аутентификации для других серверов (или оно).

Править:

На Ваш комментарий, затем, как указано выше сервер собирается не иметь никаких учетных данных, с которыми можно аутентифицировать пользователя, потому что Интегрированная аутентификация Windows не дает серверу незашифрованного пароля для передачи к другим серверам (или оно, которое является другим сервером в этом случае).

Три вещи Вы могли попробовать:

  • Если можно заставить WebService.asmx предоставлять анонимный доступ HTTP-вызов сервера его должен работать (необходимо будет явно предоставить анонимный доступ, позволяя IUSR_xxx считать файл и путем изменения установки "Anonymous access and authentication control" для "Анонимного Доступа" на самом файле с помощью консольного снимка управления IIS - в том, так как тот файл наследует включенную "Интегрированную аутентификацию Windows" и отключенные настройки "Anonymous access" из каталога, это находится в).

  • Если управление, которое Вы используете для определения источника поддержек Запроса HTTP, прозрачно обеспечивающих учетные данные зарегистрированного пользователя к удаленному серверу, который Вы могли включить "Стандартной аутентификации" на классическом сценарии ASP (который действительно дает серверу незашифрованный пароль для передачи к другим серверам) так, чтобы управление Запросом HTTP могло передать тот незашифрованный пароль во время запроса на WebService.asmx. Вы захотите потребовать SSL на доступе к классическому сценарию ASP, в той точке, сохранить незашифрованные пароли от провода.

  • Наконец, Вы могли просто твердый код в некоторых учетных данных стандартной аутентификации в классическом сценарии ASP и включать стандартную аутентификацию на файле WebService.asmx. Это означает, что WebService.asmx будет всегда видеть доступ от того же пользователя.

Ни один из тех не очень хорошие решения. Вы сталкиваетесь с "классической" проблемой, которую мы видели с "классическим ASP" при попытке пройти проверку подлинности к уровню бэкенда (база данных, и т.д.) как пользователь, который прошел проверку подлинности для запущения классического скрипта ASP.

4
ответ дан 3 December 2019 в 16:42
  • 1
    Да, файл ASP вызывает веб-сервис ASP.NET путем создания Запроса HTTP к серверу (который, оказывается, локальная машина / тот же сервер, как файл ASP работает), –  wweicker 8 July 2009 в 22:12
  • 2
    Так, Вы получали его работа? –  Evan Anderson 9 July 2009 в 03:04
  • 3
    Установка " Анонимный Access" на отдельном файле с помощью консольного снимка управления IIS - в обработанном! –  wweicker 9 July 2009 в 03:06
  • 4
    Отлично. Действительно, это было классическим классическим видом ASP проблемы. I' m довольный быть сделанным w/классический ASP в моей жизни. –  Evan Anderson 9 July 2009 в 03:14

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

Если какое-либо вышеупомянутое является ложью (таким образом, сервер не может согласовать учетную запись пользователя с клиентским браузером), затем независимо от того, что Вы установили, поскольку пользователь для анонимного используется, IUSR_<machine> по умолчанию, или если анонимный просмотр будет отключен, то пользователь получит 401.* ошибка.

Это предполагает, что другие мнения об аутентификации выключены. Я не уверен, что имеет приоритет, если у Вас есть и Windows Integrated и схемы Стандартной аутентификации, включенные одновременно.

Вы видите пользователя, которого веб-сервер в настоящее время использует для запросов для конкретной области путем заглядывания сценарию, который запрашивает reqeust.servervariables набор и производит соответствующее значение (значения) - имя пользователя там.

1
ответ дан 3 December 2019 в 16:42

Похож на Вас, пытаются сделать аутентификацию "двойного транзитного участка". Обычно это происходит в контексте бэкенда сервис SQL, но он мог относиться к отдельному сервису, работающему на том же сервере, я думаю (я не на 100% уверен хотя). Поиск в MSKB для того термина, "удваивают транзитный участок" и Вы получите несколько документов, которые объясняют, как установить делегацию, чтобы позволить этому работать. Вот один для начала, http://support.microsoft.com/kb/326985

То, в чем Вы нуждаетесь, - чтобы сервер IIS был установлен для "Разрешенной Делегации". Когда пользователь аутентифицируется с помощью Windows Integrated Authentication, они должны получить билет Kerberos (это НЕ будет работать, если Вы получите аутентификацию NTLM).

Чтобы сделать делегацию, необходимо будет добавить SPN к серверу. Удостоверьтесь, что пользователи добираются до веб-страницы с фактическим FQDN, для которого сервер имеет SPN в AD. Сервисное имя принципала (SPN) - то, что пользователя агент Kerberos будет использовать для создания правильного билета Kerberos, который позволит серверу IIS исполнять роль пользователя когда это руки прочь от запроса к следующему сервису.

1
ответ дан 3 December 2019 в 16:42

Действительно ли важно, чтобы веб-сервис использовал учетные данные зарегистрированного пользователя? Если Вы используете что-то как MSXML2. ServerXMLHTTPRequest для совершения вызова к веб-сервису Вы могли просто предоставить учетные данные в.Open методе для предоставления фиксированного набора учетных данных к веб-сервису?

1
ответ дан 3 December 2019 в 16:42
  • 1
    Учетные данные arenot важный, таким образом, это, вероятно, работало бы с небольшим количеством усилия и изменением сценария, но к счастью я нашел Evan Anderson' s предложение работал на меня. Спасибо за Ваш вход! –  wweicker 9 July 2009 в 03:08

Теги

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