| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Схемы аутентификации пользователей приложения |
| Автор: soulhealer85 16.2.2009, 20:59 |
| Народ, поделитесь пожалуйста, каким образом вы реализуете аутентификацию пользователей проги, работающей с БД? Храните пользователей и зашифрованные пароли в таблице типа "users", подключаетесь по неким guest, и ... что потом? а может как-то иначе надо делать? В общем буду очень благодарен за советы |
| Автор: Akella 16.2.2009, 21:50 | ||
| Как ты не можешь догадываться, что от СУБД зависит подход такой? Добавлено через 1 минуту и 6 секунд А разве при создании темы не для тебя такие слова написаны?
Добавлено через 7 минут и 3 секунды http://forum.vingrad.ru/index.php?showtopic=135490&view=findpost&p=1029551 |
| Автор: soulhealer85 16.2.2009, 22:08 |
| Для меня важны 2 сочетания: 1) BDE+FireBird 2) Ado+Oracle P.S. Уважаемый Akella, если вам надоело отвечать на посты (хотя непонятно тогда, почему вы здесь "модераторствуете"), просто попейте пивка, остыньте... у вас в каждом слове какая-то озлобленность... расслабьтесь |
| Автор: Kbl4AH 16.2.2009, 22:25 | ||
? |
| Автор: Vas 17.2.2009, 13:16 |
| ИМХО самый лучшый выход авторизация в самой БД с использованием прав на объекты БД, этим вы как минимум становитесь застрахованными от продвинутых пользователей которые могут пролезть в БД не из вашей проги и получить практически доступ админа. Не зря разработчики БД немало внимания уделяют безопасности, а вы при всех схемах с одним пользователем это просто игнорируете. |
| Автор: soulhealer85 17.2.2009, 14:03 | ||||
Читал - толковый пост, много нового узнал, спасибо Akella, непонятен только вот такой момент (скорее не непонятен, а интересно как люди делают) - программа подключается под guest-ом, допустим юзер с введенным паролем/логином найден в какой-то собственной таблице "users"... а после этого переподключение ты не делаешь под некоторым пользователем, отличным от guest, у которого права не только на таблицу "users"? или у тебя guest имеет права и на другие обьекты? |
| Автор: Akella 17.2.2009, 15:19 |
да толку от этого... хоть какой пароль ты не поставь на базу, хоть каких пользователей не заведи.... можно файл базы спионерить и вся безопасность летит..... "Обезопасивать" в первую очередь нужно сам сервер и файл базы данных. |
| Автор: Frees 17.2.2009, 15:24 | ||
и "обезапасивать" сами данные - шифровать например |
| Автор: Akella 17.2.2009, 15:32 |
| Родного шифрования в firebird`е не предусмотрено пока что. А шифровать "на лету" не очень удобно. Есть у меня одна такая программка, которая хранит в базе шифрованную инфу. Сортировка, фильтрация идут лесом в этом случае. А подключать внешние UDF нет желания, чтобы не морочить голову себе и админам. |
| Автор: Frees 17.2.2009, 15:36 | ||
ну это на самом деле решаемые проблемы, не тривиально но решаемые по поводу сортировки и поиска его придется делать скорее всего локально |
| Автор: Akella 17.2.2009, 15:47 |
| Вот и я о том же. Например, DBGridEh из EhLib умеет локально сортировать. Только это получается раз 20 дольше. Про cxGrid ни чего не могу сказать, не знаю, не пробовал. |
| Автор: Frees 17.2.2009, 15:55 |
научить то даже и DBGrid можно локально сортировать. тут главно не переусердствовать. что бы Цена разработки не была дороже защищаемых данных по сабжу мне больше нравится табличка с пользователями. и "Обезапасенный" файл базы данных зы Обойти можно любую защиту... !!! нужно что бы стоймость взлома >= стоймости данных |
| Автор: Vas 17.2.2009, 15:56 | ||
Смотря какая БД.
Естественно, обычно к серверам доступ ограничен, по другому о безопасности нечего и говорить и городить тогда права на объекты, шифрование и все прочее не стоит, возьмут и унесут или файлы или весь сервак |
| Автор: Frees 17.2.2009, 15:58 |
если данные зашифрованы толку не будет от того что унести смогли |
| Автор: Vas 17.2.2009, 16:02 |
Сам же говорил |
| Автор: Akella 17.2.2009, 17:38 |
| да, но стоимость обхода может стоить ого-го |
| Автор: Vas 18.2.2009, 08:01 |
Поэтому надо сначала определить для чего задача, и стоит ли сохранение данных таких затрат при разработке. Всегда должна быть разумная достаточность. |