Re[3]: Как воспользоваться Cloaking?
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.02.02 22:04
Оценка:
Здравствуйте Konstantin Sokolovskiy, Вы писали:

KS>Сервису нужны результаты компиляции этого файла


Стало ясней...

KS>Мы добавили AppID для этого инпроса в .rgs-файле, чтобы управлять им в DCOMCNFG


Это глупость. AppID не связан c CLSID! AppID — это гуид exe-шника! Т.е. CLSID может быть асоцеирован с AppID только если CoClass реализован внутри exe-шника.

KS>На файл, который нужно скомпилировать


По умолчанию (без имперсонации) права будут проверяться от имени сервера (т.е. от System).

KS>>> Мы на клиенте делаем имперсонацию, но они до сервера не доходят, поэтому компиляция файла не проходит — access denied.


Совершенно верно. Так как COM делает вызов под экаунтом exe-шника (клиентского).

KS>Права доступа имперсонируемого пользователя


А откуда берется этот "имперсонированный пользователь". Клиент, что, является промежуточным сервером?

VD>>Для клоакинга нужно иметь и на клиенте и на сервере W2k. Клоакинга же тебе без надобности, нужно просто сделать имперсонацию на сервере.


KS>Как? Мы пыталисью, но инпрос на сервере запускается с правами анонимного пользователя и не имеет права на имперсонацию


Что?! В COM-е не бывает анонимного пользователя. Впрочем как и в NT. В COM можно установить уровень имперсонации анонимус. Может ты об этом?

KS>>>Что нужно предпринять, чтобы сервер получил доступ к файлу.


VD>>Для начала нужно определиться с тем, что конкретно нужно? Почему клиент не может просто вызывать метод сервера, а тот просто компилировать нужный файл?


KS>Наш сервис работает под системным аккаунтом, поэтому некоторые операции, которые требуют некоторых дополнительных привилегий, мы выполняем под специальным аккаунтом (имперсонируемся).


Как он получается? С помощью LogonUser?
Компиляция проходит под имперсонацией?

Ясно что вы там что-то недопонимаете. Но вот ваша схема не очень понята. Можно еще раз... Но подробно и без пропусков обрисовать задачу и то как вы ее пытаетесь решить. Например:

У нас есть удаленный компилятор. Он получает запрос от пользователя такго-то (экаунт, его домен/компьютер, права). Сервер (экаунт, его домен/компьютер, права, тип запуска, и д.р. настройки из dcomcnfg.exe) открывает файл...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.