Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.05.01;
Скачать: CL | DM;

Вниз

Имперсонификация в трёхзвенном приложении (DCOM+ADO)   Найти похожие ветки 

 
Un Copolly   (2007-03-03 18:49) [0]

Добрый день! Возник такой вопрос, буду рад любой помощи. Пишется трёхзвенное приложение Клиенты--->DCOM--->Сервер1--->ADO--->MS SQL. Необходимо понять механизм персонификации пользователя на Сервере1 с помощью функции CoImpersonateClient (или как-нибудь ещё, главное, чтобы Сервер1 обращался к серверу БД от имени вызывающего клиента). Упростим ситуацию, допустим, на Сервере1 есть RemoteDataModule с ADOConnection, ADOTable и DataSetProvider, обращающиеся к базе данных, а на клиентах - DCOMConnection и ClientDataSet. Весь код сгенерирован автоматически, приложения пустые, идёт просто проверка такого подключения. Что нужно дописать на Сервере1, чтобы он подключался к базе данных от имени и с правами подключившегося к нему клиента? Гугль и хелп мне ничего не дали, по CoImpersonateClient в Delphi ничего нет. Ну или криво глядел, спасибо всем заранее!


 
Ломброзо ©   (2007-03-04 17:55) [1]

В коде править ничего не надо, а DCOM-сервер на запуск или активацию с привилегиями вызывающей стороны настраивается в dcom config (панель управления-администрирование->Component Services)


 
Dok_3D ©   (2007-03-07 10:07) [2]

2 Un Copolly   (03.03.07 18:49)

Если твой "Сервер1" не exe, то в коде править нужно.

Все просто:

CoImpersonateClient;  // поворачиваем поток от уч. записи клиента
ADOConnection.Open; // подключаемся к БД
CoRevertToSelf;         // возвращаем поток обратно к уч. записи клиента


Да, ну и конечно нужно на клинтской стороне выставить, уровень олицеворения по умолчанию Олицеворение или Представитель. Либо выставлять это дело программно в клиенских приложениях(через CoInitializaSecurity).



Страницы: 1 вся ветка

Текущий архив: 2011.05.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
15-1295538997
polkin
2011-01-20 18:56
2011.05.01
Что-то знакомоеЮ мож знаете?


15-1295040591
Юрий
2011-01-15 00:29
2011.05.01
С днем рождения ! 15 января 2011 суббота


15-1295199597
12
2011-01-16 20:39
2011.05.01
Объединенная Земля, будет ли и когда, если да?


2-1295560402
Простой
2011-01-21 00:53
2011.05.01
Где в Дельфи7 хранится информация Project Options?


15-1295242070
KSergey
2011-01-17 08:27
2011.05.01
Проиграть звуковой файл при наличии сигнала с микрофона