Олицетворенный процесс не будет входить в Oracle с аутентификацией Windows - PullRequest
0 голосов
/ 16 февраля 2010

Я использую веб-сервис asp .net на IIS7. Последний работает на Windows 2008 R2 Server. IIS7 / веб-сервис настроен для олицетворения asp .net. Владелец рабочего процесса установлен на NETWORK SERVICE.

Веб-служба вызывает файл sqlplus.exe, имитирующий его / ее учетную запись домена на сервере. Я могу видеть это через диспетчер задач. Однако при запуске sqlplus oracle сообщает, что имя пользователя / пароль неверны.

sqlplus.exe запускается так: sqlplu.exe /. Это прекрасно работает, если я вручную захожу на сервер с учетной записью пользователя и набираю оператор выше, все отлично работает

1 Ответ

3 голосов
/ 17 февраля 2010

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

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

Когда вы входите в систему и запускаете оператор sqlplus вручную, это только один переход с веб-сервера на сервер базы данных.

Ниже приводится цитата из MSDN. Обратите внимание на рекомендацию использовать базовую аутентификацию от клиента к веб-серверу.

Проблема двойного прыжка возникает, когда ASPX-страница пытается использовать ресурсы расположен на сервере, который отличается с сервера IIS. В нашем случае Первый "прыжок" из веб-браузера клиент для страницы IIS ASPX; Второй прыжок в Active Directory. Active Directory требуется основной маркер. Поэтому сервер IIS должен знать пароль для клиента передать основной токен в Active Справочник. Если сервер IIS имеет вторичный токен NTAUTHORITY \ ANONYMOUS аккаунт учетные данные используются. Этот аккаунт не учетная запись домена и имеет очень ограниченный доступ к Active Directory.

Двойной прыжок с использованием вторичного токена происходит, например, когда браузер клиент аутентифицирован в IIS ASPX-страница с использованием NTLM аутентификация. В этом примере IIS сервер имеет хешированную версию пароль в результате использования NTLM. Если IIS поворачивается и проходит учетные данные для Active Directory, IIS передает хешированный пароль. активный Каталог не может подтвердить пароль поэтому он использует NTAUTHORITY \ ANONYMOUS LOGON для аутентификации.

Если ваш браузер-клиент использует Basic аутентификация для аутентификации на Страница IIS ASPX, сервер IIS имеет пароль клиента и может сделать основной токен для передачи в Active Directory. Active Directory может проверить пароль и аутентификация домена пользователь.

http://msdn.microsoft.com/en-us/library/ms817871.aspx

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