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

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

роли interbase [D7, IB6.x]


stud ©   (2003-08-19 11:53:00) 

создал роль, раздал ее пользователям, а теперь нужно при подключении указать эту самую роль. и как это сделать?
в database.params[i] не подходит, так как на одной машине могут работать пользователи с разными ролями. как быть в такой ситуации?
не хотелось бы раздавать права каждому пользователю


kaif   (2003-08-20 12:49:00) [1]

2 Zacho © (20.08.03 10:06) [16]
Вспомнил. Я не создавал таблицы, а использовал именно RDB$USER_PRIVILEGES. Но я создавал таблицу для другой цели. Там я расписывал права отдельных ролей на некоторые "функции программы". Каждая "функция" включала в себя целый рад GRANT-ов. Это упрощало администрирование ролей.
В данном случае RDB$USER_PRIVILEGES достаточно. Нужно оттуда выдрать все роли данного пользователя (лучше если такая роль одна, конечно) п переподключаться. Хотя это решение и не нравится. Я понимаю. Но другого я не вижу. Или нужно хранить в ini-файле такие дела прямо на сервере. Тогда можно избежать переподключения.
Я например, использую ini-файл на сервере следующим образом. Там у меня хранятся пути к базам и их "псевдонимы" для меню. При старте приложения я делаю что-то вроде попытки открыть ini-файл на запись с помощью класса TFileStream в блоке try-except-end. Если попытка провалилась, то свойства "псевдонимов" данный клиент редактировать не сможет (нет прав на запись в файл) и соответствующие кнопки интерфейса будут неактивны. Дальше все обрабатываю обычным TIniFile.


stud   (2003-08-20 10:09:00) [2]

делал переподключение - не понравилось, пока юзеров немного раздал права каждому, дальше буду изголяться)))


Zacho   (2003-08-20 10:06:00) [3]


> kaif © (19.08.03 21:42) [15]

А зачем в отдельной таблице ? Все это есть в RDB$USER_PRIVILEGES. Или в этой таблице кроме юзеров и ролей еще что-то было ?


kaif   (2003-08-19 21:42:00) [4]

Я в свое время делал переподключение. Соединяется юзер с базой. Там записаны юзеры и их роли в отдельной таблице. Приложение находит роль для данного юзера и переконнектится. Не так уж много времени эта фишка занимает.


stud   (2003-08-19 14:13:00) [5]

спасибо


Zacho   (2003-08-19 14:04:00) [6]

ROLE NAME


stud   (2003-08-19 14:01:00) [7]

а имя параметра никто не знает?
sql_role_name= это для ibxpress, а для bde варианта?


Zacho   (2003-08-19 13:34:00) [8]

Ну и храни, хоть в ини, хоть еще где-нибудь.


stud   (2003-08-19 13:27:00) [9]

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


Zacho   (2003-08-19 13:24:00) [10]


> stud © (19.08.03 13:16) [8]

Нет, роль назначается приподключении. А если у каждого пользователя только одна роль, то кто мешает где-то хранить соответствия имени пользователя и роли, и при подключении подставлять нужную роль ?


stud   (2003-08-19 13:16:00) [11]

нет я бы хотел, чтобы пользователи не замарачивались с ролями.
можно ли например после подключения к базе назначить пользователю роль?


Zacho   (2003-08-19 13:14:00) [12]


> stud © (19.08.03 13:11) [5]

Делается минут за 30. А ты хотел, чтобы код писать вообще не надо было ?


Johnmen   (2003-08-19 13:13:00) [13]

>stud © (19.08.03 13:11) [5]
>тут нужно писать...

Т.е. ты не хочешь ничего писать ? Так не пиши...:)


stud   (2003-08-19 13:11:00) [14]

тут нужно писать свой диалог ввода паролей+ дополнительные ошибки пользователей при вводе


Zacho   (2003-08-19 13:07:00) [15]


> stud © (19.08.03 12:59) [3]

Чем не устраивает-то ? См. Johnmen © (19.08.03 12:08) [1]


stud   (2003-08-19 12:59:00) [16]

проблема аналогичная, но ее решение не устраивает


ZrenBy   (2003-08-19 12:12:00) [17]

http://www.sql.ru/forum/actualtopics.aspx?search=%F3%EA%E0%E7%E0%F2%FC+%F0%EE%EB%E8&submit=%CD%E0%E9%F2%E8&bid=2


Johnmen   (2003-08-19 12:08:00) [18]

В чем проблема ?
Пусть каждый пользователь при подключении указывает свою роль (помимо имени и пароля).


Наверх

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