Светосила GitHub →

База данных. Контроль доступа

Светосила v1.0. Спецификации на разработку

Последнее изменение: 13.12.2025, 19:20 МСК

erDiagram AC_ROLES ||--o{ AC_ROLE_ROLES : "PARENT_ROLE_ID" AC_ROLES ||--o{ AC_ROLE_ROLES : "CHILD_ROLE_ID" AC_PERMISSIONS ||--o{ AC_TABLES : "AC_PERMISSION_ID" AC_TABLES ||--o{ AC_FIELDS : "AC_TABLE_ID" AC_USERS { INTEGER ID PK TEXT LOGIN TEXT PASSWORD TEXT LAST_NAME TEXT FIRST_NAME TEXT MIDDLE_NAME INTEGER ROLE_ID FK } AC_ROLES { INTEGER ID PK TEXT NAME } AC_PERMISSIONS { INTEGER ID PK TEXT NAME BOOLEAN CAN_CREATE BOOLEAN CAN_READ BOOLEAN CAN_UPDATE BOOLEAN CAN_DELETE } AC_ROLE_PERMISSIONS { INTEGER ID PK INTEGER ROLE_ID FK INTEGER PERMISSION_ID FK } AC_ROLE_ROLES { INTEGER ID PK INTEGER PARENT_ROLE_ID FK INTEGER CHILD_ROLE_ID FK } AC_TABLES { INTEGER ID PK TEXT NAME INTEGER AC_PERMISSION_ID FK } AC_FIELDS { INTEGER ID PK TEXT NAME INTEGER AC_TABLE_ID FK }

1. Назначение документа

Описать структуру базы данных системы контроля доступа.

2. Термины и определения

3. Основные положения

3.1. Всё, что не разрешено, запрещено.

4. Таблицы

4.1. AC_USERS

Пользователи.

4.2. AC_ROLES

Роли.

4.3. AC_PERMISSIONS

Права.

4.4. AC_ROLE_PERMISSIONS

Связь ролей с правами. У роли может быть несколько прав.

4.5. AC_ROLE_ROLES

Иерархия ролей. Роль может включать другие роли.

4.6. AC_TABLES

Таблицы, к которым применяются права.

4.7. AC_FIELDS

Поля таблиц.

5. Вопросы

6. Идеи