ActiveX dll и IIS
От: Masiona  
Дата: 18.03.02 17:44
Оценка:
Привет!
Ситуация такова: на VB написана DLL которая использует wtsapi32.lib и меняет в пропертях юзеров путь к Terminal Server profile. Когда эта самая dll создается как ActiveX и вызывается из ASP страницы, то функция из этой dll не выполняется так как надо. Если же все это проделать из обычного *.vbs файла, то все ОК, функция возвращает нужный резалт.
Какие могут быть тут решения? Как заставить работать всю эту кухню из под IIS?
Заранее спасибо.
Masionas.
Re: ActiveX dll и IIS
От: Lexey Россия  
Дата: 19.03.02 08:14
Оценка: 3 (1)
Здравствуйте Masiona, Вы писали:

M>Ситуация такова: на VB написана DLL которая использует wtsapi32.lib и меняет в пропертях юзеров путь к Terminal Server profile. Когда эта самая dll создается как ActiveX и вызывается из ASP страницы, то функция из этой dll не выполняется так как надо. Если же все


Под кем ASP-страница выполняется? Под IUSR_<MachineName>? Тогда все логично, у этой уч. записи просто прав не хватает.

это проделать из обычного *.vbs файла, то все ОК, функция возвращает нужный резалт.
M>Какие могут быть тут решения? Как заставить работать всю эту кухню из под IIS?

Сделать так, чтобы страница выполнялась под юзером с административными правами. Вариантов тут много — Integrated-аутентификация с имеперсонацией, имперсонация внутри страницы с использованием какого-нибудь компонента, запуск ASP-приложения под нужным юзером в качестве анонимуса, засовывание своего компонента в COM+ и назначение ему identity администратора.
ИМХО, самые нормальные варианты — первый и четвертый.
Re[2]: ActiveX dll и IIS
От: Masiona  
Дата: 19.03.02 09:16
Оценка:
Здравствуйте Lexey, Вы писали:

Спасибо за реплай :)

L>Сделать так, чтобы страница выполнялась под юзером с административными правами. Вариантов тут много — Integrated-аутентификация с имеперсонацией, имперсонация внутри страницы с использованием какого-нибудь компонента, запуск ASP-приложения под нужным юзером в качестве анонимуса, засовывание своего компонента в COM+ и назначение ему identity администратора.

L>ИМХО, самые нормальные варианты — первый и четвертый.

>засовывание своего компонента в COM+ и назначение ему identity администратора.


1. Я засунул его в COM+ Applications на юзера с правами администратора, все равно резалт тот же: не работает.

>запуск ASP-приложения под нужным юзером в качестве анонимуса

2.В IIS Admin в закладке Directory Security указал анонимуса администратора — не работает.

Итог: После проделывания вышеуказанных 2 операций функция из COMа возвращает по-прежнему False, хотя при нормальном раскладе должна вернуть True.

Может есть какие-то дополнительные настройки при регистрации DLL как COM+? Я использовал Component Services Administration (Windows 2000 Advanced Server).

Что тут ещё можно придумать?
Masionas.
Re[2]: ActiveX dll и IIS
От: Masiona  
Дата: 19.03.02 09:32
Оценка:
Здравствуйте Lexey, Вы писали:

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


M>>Ситуация такова: на VB написана DLL которая использует wtsapi32.lib и меняет в пропертях юзеров путь к Terminal Server profile. Когда эта самая dll создается как ActiveX и вызывается из ASP страницы, то функция из этой dll не выполняется так как надо. Если же все


L>Под кем ASP-страница выполняется? Под IUSR_<MachineName>? Тогда все логично, у этой уч. записи просто прав не хватает.


L>это проделать из обычного *.vbs файла, то все ОК, функция возвращает нужный резалт.

M>>Какие могут быть тут решения? Как заставить работать всю эту кухню из под IIS?

L>Сделать так, чтобы страница выполнялась под юзером с административными правами. Вариантов тут много — Integrated-аутентификация с имеперсонацией, имперсонация внутри страницы с использованием какого-нибудь компонента, запуск ASP-приложения под нужным юзером в качестве анонимуса, засовывание своего компонента в COM+ и назначение ему identity администратора.

L>ИМХО, самые нормальные варианты — первый и четвертый.

Все, задача снимается . Функция возвращает False, но тем не менее ??!! делает, то что нужно, хотя если этот COM скомпилить в обычный EXE, то реакция более естественней: если все ОК — True, иначе False.
А тут получается все ОК, но возвращает почему-то False.

P.S. Сработал 4-й вариант (COM+)

Большое спасибо
Have a nice day!
Masionas.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.