Skip to content

Commit 1d06589

Browse files
committed
ref: update authorization.md
1 parent 6d91d71 commit 1d06589

File tree

1 file changed

+19
-9
lines changed

1 file changed

+19
-9
lines changed

src/about/product/authorization.md

+19-9
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,32 @@
1212
- Отдельное разрешение присваивается одной или нескольким ролям.
1313
- Если пользователь аутентифицирован, система получает его роль, получает разрешения которые есть у этой роли и проверяет - есть ли в этом списке разрешение, которое необходимо для выполнения действий.
1414

15-
## Миграции
15+
Изначально в системе есть только две роли:
1616

17-
Роли и разрешения добавляются в базу через миграции. Если необходимо добавить новую запись, нужно сделать это через новую миграцию.
17+
- `user` - имеет минимальные пользовательские права
18+
- `superuser` - имеет все права системы
1819

19-
## Список груп
20+
Их нельзя удалить, им нельзя изменить имя. Даже имея все права системы.
2021

21-
Все пользователи групируются по следующим ролям:
22+
По умолчанию, каждому пользователю при создании роли выдаеться минимальные пользовательские права.
23+
24+
## Дополнительные роли
25+
26+
В систему добавляеться новые роли:
2227

23-
- `user` - аутентифицированный пользователь системы
2428
- `user_frozen` - аутентифицированный пользователь системы, который был заморожен
2529
- `user_blocked` - аутентифицированный пользователь системы, который был заблокирован
2630
- `admin` - администратор системы у которого расширенный список разрешений
27-
- `super-admin` - главный администартор у которого есть все разрешения
2831

29-
## Список разрешений
32+
## Роли и разрешеня в системе
33+
34+
Основная проблема с ролями и разрешениями в том, что их **приходиться прописывать хардкорно** и одновременно **оставить изменяемыми** сразу в нескольких местах системы (разработка и тестирование) и в разных пакетах системы (основное приложение, приложение для миграции и т.д.).
3035

31-
Все разрешения прописаны в исходном коде и только там. Пример разрешений:
36+
В любой системе должны быть прописаны:
37+
- Список основных, не удаляемых ролей
38+
- Список разрешений
3239

33-
- `add new lot` - добавить новый лот в систему
40+
Ограничения:
41+
- Добавление разрешений в базу производится перед обновлением приложений
42+
- Удаление разрешений из базы производится после обновления приложения
43+
- Удаление или добавление новых основных ролей в систему не производяться

0 commit comments

Comments
 (0)