![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DataSnap (midas) - авторизация
AlexanderSK © (2003-10-13 14:32:00)
Разрабатываю клиент-сервер на базе DataSnap.
Подскажите, пожалуйста, как грамотно реализовать авторизацию пользователя в этой технологии?
Nikolay M. (2003-10-25 18:29:00) [1]
> А как можно применять авторизацию Windows?
Соединятсья с апп-сервером не через сокеты, а через DCOM.
VIR (2003-10-25 09:06:00) [2]
А как можно применять авторизацию Windows?
Nikolay M. (2003-10-20 16:31:00) [3]
Тебе ж дали уже два метода - чем не устраивают?
Если нужно совсем не дать доступа, то в OnCreate RDM-а делать сразу Free - вот и не будет ему доступа.
AlexanderSK (2003-10-20 15:53:00) [4]
А как всетаки запретить пользователю лоступ к RDM?
Nikolay M. (2003-10-20 11:07:00) [5]
> Reindeer Moss Eater © (20.10.03 08:55) [27]
В [11] - там все на пальцах, я имел в виду, что может попробовать найти UML-диаграмму готовой реализации с кусками кода, но это, конечно, халява :)
Reindeer Moss Eater (2003-10-20 08:55:00) [6]
Алгоритм в [11]
Nikolay M. (2003-10-19 11:50:00) [7]
AFAIK, нет.
Опять же все зависит от того, какого уровня защита тебе нужна. Если требуется не дать чайнику зайти в твою программу без авторизации, то извращения с вторичными RDM не нужны, достаточно одного, в котором и будет LogonUser, соответственно юзер дальше либо идет, либо получает в лоб.
А если нужно исключить возможность написания Васей Криворучко подставного клиента для твоего AppServer-а, тогда все-таки нужно несколько RDM, процедура авторизации как сказано мной и Reindeer Moss Eater (запрос с сервера-ответ с клиента, генерация хэша в зависимости от случайного числа, серийника вина и макадреса и тд, и тп).
Возможно, конечно, что в сети что-нибудь подобное лежит или описан хотя бы алгоритм - не ты же первый озадачился такой проблемой. Если найдешь, не поленись, плз, скинь в эту ветку или на мыло/аську?
AlexanderSK (2003-10-17 15:34:00) [8]
А нет ли какого-нибудь штатного метода авторизации?
Nikolay M. (2003-10-16 18:03:00) [9]
Может, это и изврат, но можно так:
в новом RDM в RemoteDataModuleCreate сохранить self в потоко-защищенном списке (TThreadList) и из начального модуля возвращать потом его клиенту.
AlexanderSK (2003-10-16 17:09:00) [10]
>Nikolay M. © (16.10.03 16:11) [22]
А как потом создать нужный RDM?
т.е. как должн выглядеьт код метода - function LogonUser (login, password_hash : string): IMyRemoteDataModule; в той его части где возвращается IMyRemoteDataModule?
Nikolay M. (2003-10-16 16:11:00) [11]
Посмотри, что написано в rdm.pas в секции initialization.
AlexanderSK (2003-10-16 11:25:00) [12]
т.е. И как запретить серверу самому создавать 2-ой RDM?
AlexanderSK (2003-10-16 11:00:00) [13]
>Nikolay M. © (16.10.03 10:11) [19]
>Что мешает сделать два RDM и один создавать вручную?
А как и когда его в ручную создавть? И как запретить мерверу самому создавать 2-ой RDM?
Nikolay M. (2003-10-16 10:11:00) [14]
Что мешает сделать два RDM и один создавать вручную?
AlexsanderSK (2003-10-15 16:46:00) [15]
>Nikolay M. © (14.10.03 18:19) [13]
А как тогда это реализовать? т.е. сделать не доступные из вне RDM, чтобы потом их интерфейс можно было отдать наружу?
Nikolay M. (2003-10-15 10:39:00) [16]
> Reindeer Moss Eater © (15.10.03 10:20) [16]
Не, это будет потерей для остальных :)))
Reindeer Moss Eater (2003-10-15 10:20:00) [17]
Не от неуверенности в себе или незнания сути вопроса, а слишком больших потерь в случае неудачи - оно мне надо?
Представляешь, а ты ведь однажды умрешь. Это достаточно большая потеря для тебя.
Nikolay M. (2003-10-15 10:02:00) [18]
> Reindeer Moss Eater © (15.10.03 08:45) [14]
Ну, рад за тебя. Я бы на себя такую ответственность не взял. Не от неуверенности в себе или незнания сути вопроса, а слишком больших потерь в случае неудачи - оно мне надо? Если только за достаточно большие деньги.
Reindeer Moss Eater (2003-10-15 08:45:00) [19]
Nikolay M. ©
1. Это действительно азбука и изобретена действительно не мной.
А вот пользуются этой азбукой все.
2. А я -да.
Nikolay M. (2003-10-14 18:19:00) [20]
> AlexanderSK (14.10.03 17:18) [10]
Абсолютно верно.