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

Вниз

Manage clients   Найти похожие ветки 

 
Dmitry Borisovets   (2002-03-19 11:52) [0]

Есть вопрос из области понимания CORBA.
Ситуация: есть один сервер и много клиентов. Есть ли способ, позволяющий определять конкретного клиента на уровне CORBA, либо же надо делать это вручную?


 
Олег Лаукарт ©   (2002-03-26 10:33) [1]

Хочу поддержать вопрос. Он уже поднимался в конференции несколько раз. Речь шла про определение ip адреса клиента, про обеспечение безопасности и прочее. Насколько я столкнулся на практике, практически всегда эти вопросы вызваны необходимостью идентификации пользователя, подтверждения его прав доступа и определения контекста доступа. Также этот вопрос поднимается при необходимости поддержки транзакций.
Насколько я понимаю, несмотря на то, что корба работает поверх TCP/IP (IIOP), тоесть есть возможность определить по-крайней мере задекларированного отправителя, не предоставляет возможности определить корба-клиента. Причины мне кажется такие: на одной машине может быть сколько угодно клиентов (с разными правами и т.д. и т.п.); один клиент может получать доступ с разных адресов; ну и наконец упомянутое выше отсутствие в TCP/IP безопасности.
Насколько я знаю в корбе специфицирован сервис безопасности, но он еще сырой и не понятно, есть ли реализации. Кто может что-нибудь рассказать про него, было бы очень интересно услышать.
Я решаю подобную задачу вручную. Схема чем-то похожа на cookies. Клиент регистрируется на сервере, в ответ, тот ему возвращает "контекст", который может включать в себя информацию про клиента (идентификационный код по которому можно получить права и проч.), состояние транзакции, и другое. Для обеспечения минимальной безопасности все это может шифроваться. Клиент при запросах передает этот "контекст" как inout параметр, а сервер при выполнении действий обновляет его содержимое. Проблема, что эту схему нельзя использовать если появляются oneway вызовы. Выход - "контекст" содержит только идентификатор, а содержимое хранится все время на сервере (в базе, кеше...). Но тут тоже есть нюансы. В приведенной схеме есть один огромный недостаток - она применима только для "закрытых" систем, где есть гарантия в "добропорядочности и честности" клиентов - никто не гарантирует, что клиент не передаст свой "контекст" другому, либо не исправит/испортит/.. его.
Хотелось бы услышать кто как решает поднятую задачу.


 
Олег Лаукарт ©   (2002-03-26 11:00) [2]

Тема поднята в "дискуссиях".



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

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

Наверх




Память: 0.47 MB
Время: 0.032 c
3-1086285323
hardclubber
2004-06-03 21:55
2004.07.04
Ошибка с кодировками


3-1086685052
serg128
2004-06-08 12:57
2004.07.04
Как динамически добавить поле типа Lookup в TClientDataSet?


1-1087820428
zep
2004-06-21 16:20
2004.07.04
StringGrid


1-1087903052
denary
2004-06-22 15:17
2004.07.04
как записать в массив действительных чисел строки из текстового ф


14-1087361065
Dimmman
2004-06-16 08:44
2004.07.04
Я в шоке...:)