Re[4]: COM+ безопасность
От: Vovaman  
Дата: 09.04.04 11:31
Оценка:
Здравствуйте, Ведмедь, Вы писали:

В>Здравствуйте, Vovaman, Вы писали:



В>>>Во первых здесь должно хватить Impersonate

В>>>А для Delegate надо еще знать настройки домена.

V>>1) Какие настройки домена влияют на Delegate?


В>Домен должен быть 2000 и выше, включен Керберос, а не NTLM. Остальное не знаю.


V>>2) Impersonate хватило бы только тогда, когда SQL-сервер работает с COM+ компонентом на одной машине


В>Если получится все, то можешь описать, что именно ты настраивал?


Домен 2000, Kerberos включен, но чего-то не хватает.
Попробовал, когда SQL-сервер на той же машине, что и COM+ компонент — все в порядке, коннект к SQL-серверу приходит под аккаунтом клиента, хоть компонент работает под другим аккаунтом — все как надо.
Но если SQL на другой машине — контекст не передается.
Тут, похоже, два возможных решения:
1) либо недонастроил включение Kerberos'а (хотя все галки выставлял, как в статье MSDN написано)
2) либо надо вызвать в компоненте что-то типа CoSetProxyBlanket перед коннектом к базе.

Я когда журнал сообщений смотрел на машине, где компонент крутится, то последовательность была такая:
а) нормальный логон клиента на машину компонента, где крутится компонент (пакет проверки — керберос)
б) неверный логон аккаунта, под которым работает компонент на ту же машину и пакет проверки уже — Negotiate


Если получится, опишу.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.