powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Роли созданные через TIBSQL не отрабатывают на сервере
12 сообщений из 12, страница 1 из 1
Роли созданные через TIBSQL не отрабатывают на сервере
    #38923376
andycat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую!

встала задача управления ролями FireBird сервера из приложения Dilphi 7

Сервер:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Linux f24srv6 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
ISQL Version: LI-V2.5.3.26778 Firebird 2.5
Server version:
Firebird/linux AMD64 (access method), version "LI-V2.5.3.26778 Firebird 2.5"
Firebird/linux AMD64 (remote server), version "LI-V2.5.3.26778 Firebird 2.5/tcp (f24srv6)/P12"
Firebird/linux AMD64 (remote interface), version "LI-V2.5.3.26778 Firebird 2.5/tcp (f24srv6)/P12"
on disk structure version 11.2

создаю нового пользователя через IBSecurityServiceFB
компонентами IBX TIBSQL создаю роль и привязываю к ней права на таблицу и пользователя (это вообще реально?)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create role role1;
grant select on T_LINK_ROLES_TABLES to role1;
grant select on T_REF_BNKSEEK to role1;
grant select on T_REF_CALCULUS to role1;
grant select on T_REF_CURRENCY to role1;
grant select on T_REF_ROLES to role1;
grant select on T_REF_USERS to role1;
grant select on T_SYS_ACTS to role1;
grant select on T_SYS_FIELDS to role1;
grant select on T_SYS_TABLES to role1;
grant role1 to user1;

смотрю через IBExpert - пользователь есть, роль есть - все ОК
подключаюсь приложением пользователем user1 к серверу все ОК
пытаюсь прочитать таблицу - ошибка
Код: plaintext
no permission for read/select access to TABLE T_SYS_TABLES.

смотрю пользователей утилитой GSEC - своего пользователя user1 не вижу :(
Код: plaintext
1.
2.
3.
4.
5.
6.
GSEC> display
     user name                    uid   gid admin     full name
--------------------------------------------------------------------------------
----------------
SYSDBA                              0     0           Sql Server Administrator
USER2                               0     0
GSEC>
...
Рейтинг: 0 / 0
Роли созданные через TIBSQL не отрабатывают на сервере
    #38923383
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andycat,

а ты роль при подключении указал?
...
Рейтинг: 0 / 0
Роли созданные через TIBSQL не отрабатывают на сервере
    #38923388
andycat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, роль не указывал при подключении - сейчас попробую

а как быть если несколько ролей одному пользователю привязано?
...
Рейтинг: 0 / 0
Роли созданные через TIBSQL не отрабатывают на сервере
    #38923393
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andycatа как быть если несколько ролей одному пользователю привязано?
Предоставить пользователю выбор ролей.
...
Рейтинг: 0 / 0
Роли созданные через TIBSQL не отрабатывают на сервере
    #38923404
andycat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пробую в подключение добавить роль в параметры:
Код: plaintext
IBDatabaseFB.Params.Add('role=role1');

ошибка:
Код: plaintext
Project AccMat.exe raised exception class EIBClientError with message 'DPB Constant (role) is unknown'. Process stopped. Use Step or Run to continue.

как правильно вписать роль в параметры подключения?
...
Рейтинг: 0 / 0
Роли созданные через TIBSQL не отрабатывают на сервере
    #38923409
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql_role_name
...
Рейтинг: 0 / 0
Роли созданные через TIBSQL не отрабатывают на сервере
    #38923442
andycat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
заработало, спасибо.

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

Интересно как в реальных системах это реализовано....

Опять же: лишние выборки/манипуляции пользователю ни к чему...

Вижу для себя только следующую реализацию логики работы:

1. При создании пользователя ему выдаются сразу две роли:
- минимальная для просмотра таблицы списка ролей
- непосредственная роль для конкретного пользователя
2. при подключении подключать пользователя с минимальной ролью
3. Считывать имя роли конкретного пользователя
4. Переподключать пользователя с его конкретной ролью
...
Рейтинг: 0 / 0
Роли созданные через TIBSQL не отрабатывают на сервере
    #38923474
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andycatт.к. в идеале пользователю права выдают в зависимости от его занимаемой должности
ага. поэтому пользователь не может быть бухгалтером, менеджером и уборщицей одновременно.

andycat- минимальная для просмотра таблицы списка ролей
для этого роли не обязательно использовать.
...
Рейтинг: 0 / 0
Роли созданные через TIBSQL не отрабатывают на сервере
    #38923488
andycat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvandycatт.к. в идеале пользователю права выдают в зависимости от его занимаемой должности
ага. поэтому пользователь не может быть бухгалтером, менеджером и уборщицей одновременно.

andycat- минимальная для просмотра таблицы списка ролей
для этого роли не обязательно использовать.

Согласен.

Всем спасибо за помощь.

тему можно закрывать.
...
Рейтинг: 0 / 0
Роли созданные через TIBSQL не отрабатывают на сервере
    #38923502
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andycatВижу для себя только следующую реализацию логики работы:

1. При создании пользователя ему выдаются сразу две роли:
- минимальная для просмотра таблицы списка ролей
- непосредственная роль для конкретного пользователя
2. при подключении подключать пользователя с минимальной ролью
3. Считывать имя роли конкретного пользователя
4. Переподключать пользователя с его конкретной ролью
Самое интересное (ну для меня) будет после этого
5. "Изменить" интерфейс программы согласно роли пользователя
...
Рейтинг: 0 / 0
Роли созданные через TIBSQL не отрабатывают на сервере
    #38923526
andycat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сам долго бился над вопросом изменения интерфейса..... пару недель "курил" интернет

сейчас все почти готово, сама стратегия выработана, все через TAction
а сами права прописаны в определенных таблицах для конкретной роли
...
Рейтинг: 0 / 0
Роли созданные через TIBSQL не отрабатывают на сервере
    #38923531
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут главное осознать, что роли FB - это не группы а-ля Винда.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Роли созданные через TIBSQL не отрабатывают на сервере
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]