Книга: Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil
Организация пользователей в группы с помощью ролей
Организация пользователей в группы с помощью ролей
Чтобы уменьшить количество выдаваемых разрешений и объединить пользователей в группу по принципу наличия у них одинаковых прав, применяется механизм ролей. Порядок действия для использования ролей следующий:
* Необходимо создать роль.
* Выдать этой роли достаточные права.
* Назначить конкретным пользователям эту роль.
* При подсоединении к базе данных указать, помимо имени пользователя, ту роль, права которой будет иметь в течение времени данного соединения пользователь. То, что роль явно указывается при подсоединении, позволяет иметь для каждого пользователя набор ролей и менять их при каждом сеансе в зависимости от характера выполняемой работы.
Приведем пример использования ролей Для начала создадим роль с именем READER, которая будет иметь права для чтения данных:
CREATE ROLE READER;
Выдадим этой роли права на чтение таблицы Table_example:
GRANT Select ON Table_example TO READER;
Присвоим эту роль пользователю TESTUSER, чтобы он мог указать ее при подсоединении к базе данных (если этого не сделать, то возникнет ошибка авторизации):
GRANT READER TO testuser;
Теперь мы можем указать эту роль при подсоединении к базе данных. Все современные библиотеки доступа, описанные в данной книге, имеют специальную •опцию для использования роли пользователя в течение соединения. За подробностями обращайтесь к соответствующим главам. В общем виде, например при подсоединении через isql, указание роли выглядит так:
CONNECT 'server:DiskPathdatabase.gdb' USER 'username'
PASSWORD 'password' ROLE ' rolename';
Для нашего примера и тестовой базы данных firstbase.gdb строка соединения по TCP/IP будет выглядеть следующим образом:
CONNECT 'localhost:C:Databasefirstbase.gdb' USER 'sysdba'
PASSWORD 'masterkey' ROLE 'READER';
Использование ролей, которое возможно в InterBase начиная с версии 5.х.. позволяет значительно упростить управление правами пользователей InterBase.
- Система безопасности InterBase
- 4.2.2. Редактирование группы
- Листинг 3.3. (fork.c) Ветвление программы с помощью функции fork()
- 14.4. Расширенный поиск с помощью двоичных деревьев
- Группы и сеансы
- Глава 15 Пользователи, группы и права доступа
- 7 Создание заказных шейдеров и текстур с помощью Pynodes
- 1.16. Представление контроллеров, управляющих несколькими видами, с помощью UITabBarController
- 12.5. Отображение в память в SVR4 с помощью
- Компоновка .NET-приложений с помощью TextPad
- 10.1. Пользователи и группы
- 21.4. Создание графики с помощью элемента