Текущий архив: 2003.09.11;
Скачать: CL | DM;
Внизроли interbase Найти похожие ветки
← →
stud (2003-08-19 11:53) [0]создал роль, раздал ее пользователям, а теперь нужно при подключении указать эту самую роль. и как это сделать?
в database.params[i] не подходит, так как на одной машине могут работать пользователи с разными ролями. как быть в такой ситуации?
не хотелось бы раздавать права каждому пользователю
← →
Johnmen (2003-08-19 12:08) [1]В чем проблема ?
Пусть каждый пользователь при подключении указывает свою роль (помимо имени и пароля).
← →
ZrenBy (2003-08-19 12:12) [2]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
← →
stud (2003-08-19 12:59) [3]проблема аналогичная, но ее решение не устраивает
← →
Zacho (2003-08-19 13:07) [4]
> stud © (19.08.03 12:59) [3]
Чем не устраивает-то ? См. Johnmen © (19.08.03 12:08) [1]
← →
stud (2003-08-19 13:11) [5]тут нужно писать свой диалог ввода паролей+ дополнительные ошибки пользователей при вводе
← →
Johnmen (2003-08-19 13:13) [6]>stud © (19.08.03 13:11) [5]
>тут нужно писать...
Т.е. ты не хочешь ничего писать ? Так не пиши...:)
← →
Zacho (2003-08-19 13:14) [7]
> stud © (19.08.03 13:11) [5]
Делается минут за 30. А ты хотел, чтобы код писать вообще не надо было ?
← →
stud (2003-08-19 13:16) [8]нет я бы хотел, чтобы пользователи не замарачивались с ролями.
можно ли например после подключения к базе назначить пользователю роль?
← →
Zacho (2003-08-19 13:24) [9]
> stud © (19.08.03 13:16) [8]
Нет, роль назначается при подключении. А если у каждого пользователя только одна роль, то кто мешает где-то хранить соответствия имени пользователя и роли, и при подключении подставлять нужную роль ?
← →
stud (2003-08-19 13:27) [10]вот про это я и спрашиваю, тогда нужно либо переподключать пользователя, либо роли хранить в каком нибудь ини
← →
Zacho (2003-08-19 13:34) [11]Ну и храни, хоть в ини, хоть еще где-нибудь.
← →
stud (2003-08-19 14:01) [12]а имя параметра никто не знает?
sql_role_name= это для ibxpress, а для bde варианта?
← →
Zacho (2003-08-19 14:04) [13]ROLE NAME
← →
stud (2003-08-19 14:13) [14]спасибо
← →
kaif (2003-08-19 21:42) [15]Я в свое время делал переподключение. Соединяется юзер с базой. Там записаны юзеры и их роли в отдельной таблице. Приложение находит роль для данного юзера и переконнектится. Не так уж много времени эта фишка занимает.
← →
Zacho (2003-08-20 10:06) [16]
> kaif © (19.08.03 21:42) [15]
А зачем в отдельной таблице ? Все это есть в RDB$USER_PRIVILEGES. Или в этой таблице кроме юзеров и ролей еще что-то было ?
← →
stud (2003-08-20 10:09) [17]делал переподключение - не понравилось, пока юзеров немного раздал права каждому, дальше буду изголяться)))
← →
kaif (2003-08-20 12:49) [18]2 Zacho © (20.08.03 10:06) [16]
Вспомнил. Я не создавал таблицы, а использовал именно RDB$USER_PRIVILEGES. Но я создавал таблицу для другой цели. Там я расписывал права отдельных ролей на некоторые "функции программы". Каждая "функция" включала в себя целый рад GRANT-ов. Это упрощало администрирование ролей.
В данном случае RDB$USER_PRIVILEGES достаточно. Нужно оттуда выдрать все роли данного пользователя (лучше если такая роль одна, конечно) п переподключаться. Хотя это решение и не нравится. Я понимаю. Но другого я не вижу. Или нужно хранить в ini-файле такие дела прямо на сервере. Тогда можно избежать переподключения.
Я например, использую ini-файл на сервере следующим образом. Там у меня хранятся пути к базам и их "псевдонимы" для меню. При старте приложения я делаю что-то вроде попытки открыть ini-файл на запись с помощью класса TFileStream в блоке try-except-end. Если попытка провалилась, то свойства "псевдонимов" данный клиент редактировать не сможет (нет прав на запись в файл) и соответствующие кнопки интерфейса будут неактивны. Дальше все обрабатываю обычным TIniFile.
Страницы: 1 вся ветка
Текущий архив: 2003.09.11;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.009 c