Главная страница
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.021 c
14-1087198264
Gero
2004-06-14 11:31
2004.07.04
О программистах(навеяно вопросом о любимой музыке программистов)


14-1086700096
hgd
2004-06-08 17:08
2004.07.04
Расстояние до объекта


6-1084003564
DimDim
2004-05-08 12:06
2004.07.04
Имя компьютера в локальной сети


8-1082414407
alexbay
2004-04-20 02:40
2004.07.04
отображение иконок 16*16


6-1084215582
AndersoNRules
2004-05-10 22:59
2004.07.04
TIdTCPClient vs TSocketClient