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

Вниз

Вход под одним логином   Найти похожие ветки 

 
Genzzz   (2003-02-02 11:24) [40]

passm
при всем написанном вся проверка на стороне клиена, что не есть ГУД.


 
Desdechado ©   (2003-02-02 18:20) [41]

не совсем по теме, но, может, придут еще мысли по мотивам
http://www.volny.cz/iprenosil/interbase/ip_ib_isc4.htm

а список подключенных юзеров можно в компонентах IBX через TIBDatabaseInfo прочитать


 
Tio   (2003-02-04 00:46) [42]

Блин, а как посмотреть список подключенных юзеров на стороне сервера ?
не нету там ни IBX, ни BDE :-)

Desdechado, спасибо за ссылку, пойду глядеть


 
Genzzz   (2003-02-04 00:46) [43]

Блин, а как посмотреть список подключенных юзеров на стороне сервера ?
не нету там ни IBX, ни BDE :-)

Desdechado, спасибо за ссылку, пойду глядеть


 
Johnmen ©   (2003-02-04 01:20) [44]

Для этого есть средства администрирования...


 
passm ©   (2003-02-04 09:59) [45]

Genzzz (02.02.03 11:24)> Разумеется, не хорошо. Но ведь ты собираешься реализовать весьма нестандартную весчь...


 
Desdechado ©   (2003-02-04 13:37) [46]

с клиента подключаешься через IBX к серверу и читаешь список подключенных к нему всех клиентов TIBDatabaseInfo (логинов, в смысле, а не тачек)


 
Genzzz   (2003-02-04 18:37) [47]

Ой, блиииин....

Desdechado, ну я ведь говорю ! Мне не на стороне КЛИЕНТА нужно, а на стороне СЕРВЕРА !


 
Genzzz   (2003-02-05 19:02) [48]

Задавая вопрос, даже и представить не мог, что это настолько сложно и никто не знает как реализовать...


 
Desdechado ©   (2003-02-05 19:23) [49]

я себе представляю процесс так:
1. программа-клиент запускается, требуя логин у юзера
2. юзер вводит логи-пароль
3. программа-клиент долбится к серверу и узнает список логинов, с которыми к БД уже подключились
4. проверяет, есть ли в нем логин, который ввел текущий юзер
5. ругается или пускает дальше - по обстоятельствам

так что НА СТОРОНЕ КЛИЕНТА.

а как применить при этом сторону сервера - не вижу. Покажи.


 
Harry   (2003-02-05 19:44) [50]

Если нельзя сделать этого стандартными средствами сервера, почему это нельзя проэмулировать самостоятельно? Скажем написать прогу, котроя периодически проверяет подключение к базе данных двух логинов и выдает каким-либо образом сообщекние, вплоть до отправления на мыло или SMS.


 
Genzzz   (2003-02-05 22:40) [51]

Desdechado, я себе представляю это так:

1. Когда идет подключение к серверу - вызывается некий триггер, типа OnLogin
2. В этом триггере идет проверка на существование уже такого логина
3. Если такой логин существует, то он аннулируется.

А вот как реализовать - не знаю...


Конечно, firebrid поставляется с исходниками... но у меня, думаю, не хватит квалификации


 
Sergey13 ©   (2003-02-06 09:32) [52]

2Genzzz (05.02.03 22:40)
>1. Когда идет подключение к серверу - вызывается некий триггер, типа OnLogin
В ИБ нет тригеров уровня БД. Это тебе на Оракл надо. 8-) Че то ты кажись зациклился на проблеме. 8-) Какая для тебя принципиальная разница на какой стороне идет проверка. Тебе же предлагали вполне работоспособные варианты.


 
Reindeer Moss Eater   (2003-02-06 09:45) [53]

Какая для тебя принципиальная разница на какой стороне идет проверка.

Клиент не обязан использовать программу, в которой реализован механизм защиты. Он может запустить например SQL explorer


 
Sergey13 ©   (2003-02-06 10:25) [54]

2Reindeer Moss Eater (06.02.03 09:45)
>Клиент не обязан использовать программу, в которой реализован механизм защиты. Он может запустить например SQL explorer
Ну тогда, только Оракл, хотя это и там не так просто реализовать.
Я где то видел описание такого решения. Вводя логин и пароль юзер на самом деле вводит данные для некоей функции, которая вместо введенных подставляет истинные логины и уже с ними лезет в базу. Например Иванов в базе может быть Bdfyjd. Тогда проблема с "чужими" программами отпадает - юзер не знает своего истинного логина.
Или стереть все программы типа SQL explorer у клиента, и запретить ставить их. 8-)


 
Genzzz   (2003-02-06 20:40) [55]

Sergey13
о, это уже идея... действительно, не подумал - можно ведь сделать некую прослойку, чтобы юзеры работали с одним аккаунтом, а сервер - с другими, надо только функцию преобразования поглубже запихнуть :-))

Правда, лучше реализовать все таки по нормальному, иначе проблемы с админстрированием и другие неприятности...


 
Sergey13 ©   (2003-02-07 09:26) [56]

2Genzzz (06.02.03 20:40)
> иначе проблемы с админстрированием и другие неприятности...
А какие проблемы? Добавляй к имени пользователя например "-гад" - и мральное удовлетворение получишь и юзер ни о чем не догадается и все понятно кто работает - "иванов-гад". Можно и покрепче словечки подобрать. 8-)


 
Genzzz   (2003-02-08 00:32) [57]

Sergey13, а вдруг догадается ? И все равно это не очень... у базы могут быть различные администраторы, которые имеют различные права... и стоит увидеть, что в к именам пользователя приписывается -гад как вся защита накроется :-(

Это все, конечно, варианты, но полумерные...


 
Genzzz   (2003-02-09 14:28) [58]

может у кого появились идеи ?


 
Cranium ©   (2003-02-10 01:13) [59]

Ну тут вроде ни кто про UDF не вспомнил! Тогда схема такая:
1) Отлавливаем вход юзера, ну скажем по тригеру
2) А все остальное реализуем через UDF
Конечно другой админ может сделать тригер не активным, но на то он и админ....


 
Sergey13 ©   (2003-02-10 09:03) [60]

2Cranium © (10.02.03 01:13)
>1) Отлавливаем вход юзера, ну скажем по тригеру
По какому????
2Genzzz (08.02.03 00:32)
>у базы могут быть различные администраторы
А зачем администраторов под одну гребенку с обычными юзерами? Что положено Юпитеру...
>Это все, конечно, варианты, но полумерные...
Опять повторюсь, ты много хочешь за бесплатно. Серьезные решения стоят серьезных денег. Иногда ОЧЕНЬ серьезных.
К тому же. А почему ты все про базу говоришь? Может подумать про нормальное администрирование сети. Там можно много чего настроить.


 
{bas} ©   (2003-02-10 10:02) [61]

А грант на ссесию м. в IB давать??


 
dash78 ©   (2003-02-10 10:09) [62]

Удалено модератором
Примечание: Личная переписка


 
SergeyKatruk ©   (2003-02-10 16:57) [63]

Не обязательно Оракл, можна и Информикс.............


 
Nikolay M. ©   (2003-02-11 10:17) [64]

Может я поздно включился и чего не понял, но почему обязательно нужно реализовывать несколько коннектов к БАЗЕ? К собственно БД логин-пароль будет один (SYSDBA/masterkey), а у юзеров для входа в твою прогу будут заводимые администратором (или продвинутым пользователем) логины (vasya/1234), которые будут лежать в закодированном виде где-нибудь на сервере. И кто мешает сделать проверку на клиенте, стоит ли в этой таблице юзеров напротив введенного логина галочка "юзер уже находится в системе"?
Проблема, как я понимаю, не в том, чтобы дать каждому юзеру свой логин к базе, а в том, чтобы не дать двум юзерам работать под одним логином в твоей проге.
А заводить каждому юзеру логин в БД - имхо, чесаться левой ногой. Рано или поздно найдется продвинутый 10-классник, который запустит SQL Explorer и потрет под своим логином все записи в таблицах, на которые ему дан доступ.
Еще раз сорри, если пост не в тему или такая мысль уже проходила.


 
Genzzz   (2003-02-12 18:18) [65]

Nikolay M
спасибо, что пробегая рядом, решили поделиться мыслями...

Очень порадовало:

А заводить каждому юзеру логин в БД - имхо, чесаться левой ногой. Рано или поздно найдется продвинутый 10-классник, который запустит SQL Explorer и потрет под своим логином все записи в таблицах, на которые ему дан доступ

А вы как себе представляете логику работы базы ?


 
Genzzz   (2003-02-15 01:25) [66]

поднимаю ветку


 
Chubaiss   (2003-02-15 02:25) [67]

Аа-а-а-а-а-а-а-а-а--а-а-а..........Пук.....................


 
ЮЮ ©   (2003-02-15 03:19) [68]

Для Чубайса ветка оказалась неподъёмная :-) Ну, допустим, ты решишь эту проблему на стороне сервера и у тебя появится свободное время сделать ещё одно клиентское приложение. А оно не запускается, говорит "вы уже на Базе" :-) Твоё "извращеное" желание "один аккаунт - один коннект" верно только в рамках твоего приложения, вот в рамках своего приложения его и реализуй.


 
Genzzz   (2003-02-15 13:20) [69]

ЮЮ, а можно расшифровать ваш глубокомысленный пост ?
что-то не понял я


 
sndanil ©   (2003-02-15 17:00) [70]

2ЮЮ желание на самом деле вполне нормальное ... сам бы не отказался от решения ...
2Genzzz просто мысль ... а что если параллельно с сервером будет висеть прога, которая допустм на время соединения клиета будет менять его пароль ... тогда никто под этил логином не соедениться ... после отключения пользователя прога вернет пароль в исходное состояние ...


 
Johnmen ©   (2003-02-16 01:53) [71]

Потрясающее упрямство в нежелании понимать сущность коннекта и юзера....:(


 
Genzzz   (2003-02-18 00:26) [72]

Johnmen, я то понимаю. А вот если бы вы прочитали мои посты - может тоже поняли...

sndanil, интересно. Гиморно, но интересно... единственное, можно ли будет сменить пароль юзера, если он в системе ? надо проверить...


 
Genzzz   (2003-02-18 00:28) [73]

sndanil, опять же - это только препятствие для доступа к базе... Хотя уже хорошо =)

Но идеально было бы знать когда кто-нибудь пытается использовать чужой логин...


 
Johnmen ©   (2003-02-18 09:24) [74]

>Genzzz (18.02.03 00:26)
>...я то понимаю.

Следующая фраза однозначно доказывает обратное :

> (18.02.03 00:28)
>Но идеально было бы знать когда кто-нибудь пытается
>использовать чужой логин...

Поясню - невозможно (!) определить использование челом чужого логина ! :)



 
Соловьев ©   (2003-02-18 09:47) [75]

2 Genzzz
Ты уже полмесяца(!) стоишь, а мог сделать как я посоветовал
>>Соловьев © (27.01.03 15:42). Я сделал и не жалею, можно контролтровать как угодно: и по количеству коннектов, и по нику, и по пасворду.


 
Reindeer Moss Eater   (2003-02-18 09:47) [76]

Но очень хочется :)


 
NDeu ©   (2003-02-18 12:52) [77]

2 Genzzz
Давайте уточним задание
1. У тебя есть база на сервере(IB6) и клиентское ПО.
2. У тебя есть один или несколько BDадминов.(Они как Зевс. Им позволено все. Они знаят как свой пароль беречь)
3. У тебя есть несколько операторов на клиентское ПО ( Тетки, которые свой пароль клеят на мониторе, чтоб не забыли :)

Тебе нужно чтоб с пароль тетки, никто и никак не мог свезатся с сервера, даже с посторонным ПО (напр. IBConsole).

Решение
1.Создай юзер Application с свой пароль.
2.Этот пароль дай клиентскому ПО (в Registry или *.ini, лучше криптовано). Приложение конектикся к сервера под этот юзер Application.
3.Создай в базе табл. MyUsers, где записываеш UserName, Password, Permitions, IsConeccted и т.д. и т.п. что твоя душа захочет.
4.Запрашивай тетки за пароль, и сравнивай с запис в MyUsers. Эсли так хочется пиши логов в LogFile или LogTable.

Так пароль тетки не является пароль сервера и с этом никого и никогда не конектится.
С пороль админа можно сделать все (даже конектится сколко раз захочет), но так и надо.

Извини за плохого русского. Не родной :(
3.В базе


 
Andrey ©   (2003-02-18 13:33) [78]

>можно ли будет сменить пароль юзера, если он в системе
Поменять можно. Это точно.

>параллельно с сервером будет висеть прога, которая
>допустм на время соединения клиета будет менять его пароль
Паралельно это конечно можно, но как часто она будет проверять кто подключился, кто отключился. Раз в час, минуту, секунду, а это достаточная частота? А не перегрузит ли такая частота сервер? Короче минусов много. Есть конечно решение 3-х звенка, но IMHO это не та проблемма которая требует столь радикальной перепланировки 2-х уровневых систем.


Я тоже этот вопрос исследовал. Нет в IB такой возможности. Единственное естественное (выполненяемое не извратами на клиенте, а непосредственно сервером) решение это перекомпиляция IB... Скоро, через 1-2 месяца я этим вплотную займусь.

Тогда можно решить и более сложную (мою) проблемму: 1 коннект к 1 базе для 1 хоста.


 
Genzzz   (2003-02-18 20:53) [79]

NDeu, идея просто замечательная. Но ты хочешь, чтобы Application был админским аккаунтом ? Имхо, это серьезное нарушение безопасности. Где бы я его и как не хранил - хранить аккаунто администратора на компьютере...

Johnmen, вы очень хорошо все пояснили. Только я вас уверяю. Сделать можно все, ЧТО УГОДНО. Если вы не знаете как - это ничего не значит


 
Johnmen ©   (2003-02-19 09:33) [80]

>...Если вы не знаете как - это ничего не значит

Да. Я ничего не знаю о том, знаешь ли ты, что я знаю о твоих знаниях и пониманиях...Но это ничего не значит...




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

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

Наверх




Память: 0.64 MB
Время: 0.017 c
14-76601
stone
2003-03-07 11:15
2003.03.24
---|Ветка была без названия|---


3-76271
Unicorn
2003-03-06 10:45
2003.03.24
SQl-запрос на копирование


3-76266
SZap
2003-03-06 11:40
2003.03.24
Програмное создание Таблици


8-76537
Dimitri
2002-12-08 22:01
2003.03.24
MPEG-1 video


3-76327
Злодей
2003-03-05 18:38
2003.03.24
Данные из поля в таблице