Как создать DCOM-объект, от имени другого пользователя?
От: Аноним  
Дата: 22.06.08 07:18
Оценка:
На сервере зарегистрирована DCOM-служба.
В DCOM-конфигурации прописано, что доступ к ней имеют только локальные пользователи PASHA и SYSTEM.

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

Я нашёл способ создать удалённый объект:
Type.Type.GetTypeFromCLSID(...)
Activator.CreateInstance(...).

Но где мне указывать данные пользователя?

PS На C++ это реализуется вызовами:
CoCreateInstanceEx(..., COSERVERINFO, ...)
CoSetProxyBlanket(..., COAUTHIDENTITY, ...)
Re: Как создать DCOM-объект, от имени другого пользователя?
От: vmpire Россия  
Дата: 23.06.08 08:13
Оценка:
Здравствуйте, Аноним, Вы писали:

А>На сервере зарегистрирована DCOM-служба.

А>В DCOM-конфигурации прописано, что доступ к ней имеют только локальные пользователи PASHA и SYSTEM.

А>Мне со своего компа тоже хотелось бы попользоваться этой службой, PASHA даже одолжил мне свой пароль.


А>Я нашёл способ создать удалённый объект:

А> Type.Type.GetTypeFromCLSID(...)
А> Activator.CreateInstance(...).

А>Но где мне указывать данные пользователя?


А>PS На C++ это реализуется вызовами:

А> CoCreateInstanceEx(..., COSERVERINFO, ...)
А> CoSetProxyBlanket(..., COAUTHIDENTITY, ...)

Попробуйте имперсонироваться перед созданием объекта.
Пример имперсонации тут: http://msdn.microsoft.com/en-us/library/chf6fbt4.aspx
Re: Как создать DCOM-объект, от имени другого пользователя?
От: Tom Россия http://www.RSDN.ru
Дата: 23.06.08 09:27
Оценка:
А>Но где мне указывать данные пользователя?

А>PS На C++ это реализуется вызовами:

А> CoCreateInstanceEx(..., COSERVERINFO, ...)
А> CoSetProxyBlanket(..., COAUTHIDENTITY, ...)

Вызывай из C# тоже, что ты вызывал на C++
Народная мудрось
всем все никому ничего(с).
Re[2]: Как создать DCOM-объект, от имени другого пользовател
От: Аноним  
Дата: 23.06.08 10:36
Оценка:
Здравствуйте, vmpire, Вы писали:

V>Здравствуйте, Аноним, Вы писали:


А>>На сервере зарегистрирована DCOM-служба.

А>>В DCOM-конфигурации прописано, что доступ к ней имеют только локальные пользователи PASHA и SYSTEM.

А>>Мне со своего компа тоже хотелось бы попользоваться этой службой, PASHA даже одолжил мне свой пароль.


...

V>Попробуйте имперсонироваться перед созданием объекта.

V>Пример имперсонации тут: http://msdn.microsoft.com/en-us/library/chf6fbt4.aspx


Прошу прощения, забыл указать, что локального пользователя PASHA на моём компе нет
Re[2]: Как создать DCOM-объект, от имени другого пользовател
От: Аноним  
Дата: 23.06.08 11:16
Оценка:
Здравствуйте, Tom, Вы писали:

А>>Но где мне указывать данные пользователя?


А>>PS На C++ это реализуется вызовами:

А>> CoCreateInstanceEx(..., COSERVERINFO, ...)
А>> CoSetProxyBlanket(..., COAUTHIDENTITY, ...)

Tom>Вызывай из C# тоже, что ты вызывал на C++


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