Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вход под одним логином [D7, IB6.x]


Страницы:   1 2 3 4 5

Genzzz ©   (2003-01-25 22:36:00) 

Очень странно, что в базу можно зайти под одним аккаунтом сразу с нескольких компьютеров.

Это можно поправить ?


Wind2000   (2003-03-06 09:53:00) [1]

Что касается Oracle - такая задача (контроль количества подключений) средствами самого сервера решается очень просто. Что касается расширения такой задачи до уровня "Не дать никому использовать чужой логин" - можно добавить механизм контроля по имени application, АйПишнику машину и т.д. Информация, собираемая Oracle о соединении, позволяет контролировать что угодно и как угодно.


Asgard   (2003-03-06 07:03:00) [2]


> Mirolex (06.03.03 03:24)
> Уфф...дочитал до конца...разочарован...Genzzz

Это форум для программистов, а не для всяких лопухов, которые постят не по теме.


Asgard   (2003-03-06 05:16:00) [3]

Сам сервер делать такого не умеет.
Следовательно, надо делать трехзвенку.
Можно сделать не полноценную трехзвенку, а что-то типа прокси-сервера, который будет втупую перенаправлять коннекты клиентов серверу, отлавливая в потоках данных только запрос авторизации.
Прокси должен строить таблицу активных коннектов, в которую прописываются в том числе и имена пользователей, переданные в запросе авторизации.
Машину с БД-сервером нужно закрыть firewall"ом от попыток прямого коннекта, разрешив только коннект от прокси.
Плюсы такой схемы:
+Прокси может отслеживать активность сессий, и неживые сессии прибивать автоматом, удаляя из таблицы запись о логине (исключает необходимость ручного вмешательства при некорректном завершении сессии).
+Можно заставить проксю определять мак-адрес по ip запросившего коннект, и сравнивать его по вручную сделанной таблице типа (UserName, MAC) - таким образом можно заставить юзера входить только с определенной машины в сети.

А минусы - это нужно писать :) Но все равно проще, чем переписывать ядро Firebird.


Mirolex   (2003-03-06 03:24:00) [4]

Уфф...дочитал до конца...разочарован...Genzzz, переквалифицируйся в дворники. Программер - это призвание, а не професия. В первую очередь надо уметь слушать и слышать ответы (на свои же вопросы). Этот тред можно было еще в середине прекратить, но уважаемый Genzzz говорит, что мы все дураки, а он один умный и..."вновь продолжается бой". Как капризная девица, хочу и все.


Анонимщик   (2003-03-05 14:07:00) [5]

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


Vladimir   (2003-03-05 09:40:00) [6]


> Alexandr ©

Ха, да если задать вопрос типа "куда мне пойти, чтобы чего-нибудь найти..", так еще не такая дискуссия может разгореться :)


Alexandr   (2003-03-05 08:20:00) [7]

а я то-думал, чего тут так долго обсуждать-то можно...


Vladimir   (2003-03-05 07:54:00) [8]

2 Genzzz
Пиши сервер приложений и ворочай там чего угодно.


Deniz   (2003-03-04 20:04:00) [9]

Пора ЗАКРЫВАТЬэту ветку.
Человеку сказали, что это сделать нельзя(пока нет триггеров типа OnConnect и т.д.), но Он таки ждет идей. К Genzzz: или жди функциал, или сам компилируй.


Genzzz   (2003-03-04 18:25:00) [10]

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


Johnmen   (2003-02-20 23:53:00) [11]

>Genzzz (20.02.03 22:04)
>ау

Ау... Похоже мы попали в лес...:)

Вот тебе радикальное решение - напиши свой сервер, обладающий нужной тебе функциональностью.
Все остальные мыслимые и не очень решения тебя не устроят по определению.....


Genzzz   (2003-02-20 22:04:00) [12]

ау


Johnmen   (2003-02-19 09:33:00) [13]

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

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


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

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

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


Andrey   (2003-02-18 13:33:00) [15]

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

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


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

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


NDeu   (2003-02-18 12:52:00) [16]

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.В базе


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

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


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

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


Johnmen   (2003-02-18 09:24:00) [19]

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

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

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

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


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

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

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


Страницы:   1 2 3 4 5

Наверх

Титульная страница Поиск, карта сайта Написать письмо