Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2013, 00:29   #1
Евгений_Магистр
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 64
По умолчанию security2.fdb и пользователи в БД

Здравствуйте! Создаю БД с помощью IBExpert. В управлении пользователями отображаются SYSDBA и PUBLIC. Я так понимаю, что при создании БД, автоматически привязывается БД с пользователями, в частности security2.fdb. Но каким образом можно сделать свою БД с пользователями или просто скопировать security2.fdb и сделать в своей БД ссылку на новую security2.fdb? Вопрос в том, где можно изменить вот эту самую настройку?
Евгений_Магистр вне форума Ответить с цитированием
Старый 10.03.2013, 00:49   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
каким образом можно сделать свою БД с пользователями или просто скопировать security2.fdb
Да просто Роли создай в том же IBExpert, и по ним подключайтся. SYSDBA такая же роль только создаваемая по умолчанию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.03.2013, 00:53   #3
Евгений_Магистр
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 64
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Да просто Роли создай в том же IBExpert, и по ним подключайтся. SYSDBA такая же роль только создаваемая по умолчанию.
Так потом эта БД будет на другом компьютере. А юзеры хранятся в security2.fdb. Мне её тупо с базой передавать другому пользователю на компьютер? А у него ведь тоже будет установлен сервер firebird и база по умолчанию будет ссылаться на C:\Program Files (x86)\Firebird\Firebird_2_5\securit y2.fdb

Вот я хочу найти то место, по которому БД "ищет" расположение юзеров.
Евгений_Магистр вне форума Ответить с цитированием
Старый 10.03.2013, 11:45   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Так потом эта БД будет на другом компьютере. А юзеры хранятся в security2.fdb.
Так их не нужно хранить в другой базе. Юзеры это роли для базы. Представь что есть некая системная таблица которая уже предназначена для хранения юзеров - это роли.
Цитата:
Мне её тупо с базой передавать другому пользователю на компьютер?
Да. В пользователь при входе в программу пусть вводить имя роли и пароль.
Цитата:
база по умолчанию будет ссылаться на C:\Program Files (x86)\Firebird\Firebird_2_5\securit y2.fdb
С какого такого перепугу? Только если ты сам лично пропишешь это в программе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.03.2013, 12:20   #5
Евгений_Магистр
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 64
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Так их не нужно хранить в другой базе. Юзеры это роли для базы. Представь что есть некая системная таблица которая уже предназначена для хранения юзеров - это роли.

Да. В пользователь при входе в программу пусть вводить имя роли и пароль.

С какого такого перепугу? Только если ты сам лично пропишешь это в программе.
Виталий, у меня наверно где-то "провал" в этой области. И поэтому не совсем понятно... Я подключаюсь к БД с помощью IBDataBase. Там можно выставить свойство "Loginpromt" в "false" и запрашивается логин и пароль при подключении. Но ведь я не указываю путь к securit y2.fdb. Каким-то образом БД сама понимает, где лежат пользователи. Или она как разм не и показывает те самые роли? А роли уже в свою очередь ссылаются на securit y2.fdb? Просто сейчас я создал одну роль, но подключиться с помощью неё не получается... Ввожу всё верно.
Евгений_Магистр вне форума Ответить с цитированием
Старый 10.03.2013, 12:36   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Все просто. Почти любая современная база данных изначально после создания уже содержит в себе некие системные таблицы, хранящие информацию о разнообразных характеристиках. Одна из них таблица пользователей (или ролей если в терминологии БД) http://www.firebirdsql.su/doku.php?id=rdb_roles
Когда твой IBDataBase пытается подключится к базе, огнептичка прежде чем достать из нее всю информацию по запросу прежде всего ищет запись в таблице ролей, которая по логину совпадает с тем что IBDataBase предоставляет.
Если такой логин существует и пароль к нему подходит то IBDataBase подключается и позволяет остальным компонентам проводить запросы.
Не нужно создавать отдельную базу для хранения юзеров, мало того что она уязвима, так еще и лишний труд делаешь. Просто почитай про роли в БД (http://www.firebirdsql.su/doku.php?id=create_role) и применяй их если хочешь по настоящему хорошую и мобильную безопасность.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.03.2013, 13:22   #7
Евгений_Магистр
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 64
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Все просто. Почти любая современная база данных изначально после создания уже содержит в себе некие системные таблицы, хранящие информацию о разнообразных характеристиках. Одна из них таблица пользователей (или ролей если в терминологии БД) http://www.firebirdsql.su/doku.php?id=rdb_roles
Когда твой IBDataBase пытается подключится к базе, огнептичка прежде чем достать из нее всю информацию по запросу прежде всего ищет запись в таблице ролей, которая по логину совпадает с тем что IBDataBase предоставляет.
Если такой логин существует и пароль к нему подходит то IBDataBase подключается и позволяет остальным компонентам проводить запросы.
Не нужно создавать отдельную базу для хранения юзеров, мало того что она уязвима, так еще и лишний труд делаешь. Просто почитай про роли в БД (http://www.firebirdsql.su/doku.php?id=create_role) и применяй их если хочешь по настоящему хорошую и мобильную безопасность.
Спасибо большое, Виталий! Вот теперь у меня в голове всё встало по "полочкам".
Евгений_Магистр вне форума Ответить с цитированием
Старый 10.03.2013, 16:16   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вотъ и хорошо )
И впредь старайся не создавать лишних БД особенно с такой конфиденциалкой - некультурно по отношению к какерам, им ломать нравится, а ты все удовольствие портишь
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись в FDB (FireBird) строк с одинарной кавычкой new player БД в Delphi 15 16.08.2012 10:49
Пользователи в БД Ol'ga БД в Delphi 2 04.06.2012 20:46
FDB без FireBerd Server SWAT92Shtorm БД в Delphi 7 20.05.2011 10:11
Firebird - fdb файл увеличивается при записи полей, но если базу очищаешь, размер остается таким же RuVarez БД в Delphi 1 23.09.2010 18:09
Пользователи Bat{CMD}_Men Общие вопросы Delphi 3 10.09.2009 21:22