doc alc
This commit is contained in:
@@ -4,17 +4,44 @@
|
|||||||
|
|
||||||
> В системе LE предусмотрены уровни доступа, эти уровни могут задаваться на уровне всего пространства (например админка или личный кабинет) и на уровне кокнкретных модулей, например простой менеджер не может добавлять администраторов сайта, а директор может.
|
> В системе LE предусмотрены уровни доступа, эти уровни могут задаваться на уровне всего пространства (например админка или личный кабинет) и на уровне кокнкретных модулей, например простой менеджер не может добавлять администраторов сайта, а директор может.
|
||||||
|
|
||||||
## Хранение
|
|
||||||
Все аккаунты хранятся в таблице `sys_accounts`
|
|
||||||
|
## Включение контроля доступа
|
||||||
|
Контроль доступа можно включить как на уровне всего пространства (например админка), так и на уровне конкретного модуля, для этого в начале файла достаточно добавить
|
||||||
|
|
||||||
|
```php
|
||||||
|
$user_lev = LE::$ALC->set_lev(2);
|
||||||
|
```
|
||||||
|
Где 2 - это минимальный уровень доступа для данного функционала, даже если посетитель авторизовался, но у него уровень 1, то он не будет иметь доступа к данному функционалу и получит 403 ошибку
|
||||||
|
|
||||||
|
Помимо этого, указанная функция возвращает уровень доступа текущего пользователя, что позволяет кастомизировать меню, скрывать запрещенные пункты итд...
|
||||||
|
|
||||||
|
Если пользователь не авторизован, то он получит форму для ввода логина и пароля, дальнейшее выполнение скрипта остановится.
|
||||||
|
|
||||||
|
## Уровни доступа
|
||||||
|
В конкретном приложении можно придумать свои уровни, но на стандартном решени будут вот такие уровни
|
||||||
|
|
||||||
|
Уровень | Роль | Описание
|
||||||
|
----- | ----- | ---------
|
||||||
|
0 | Гость | Обычный посетитель сайта, который не авторизовался
|
||||||
|
1 | Обычный пользователь | Это или покупатель или читатель, может например заходить в свой кабинет, менять свои данные, но в основном ограниченный, с нулевой кармой
|
||||||
|
2 | Привилигированный пользователь | Это человек имеющий например право писать комментарии и как-то модифицировать наполнение внешней части сайта
|
||||||
|
3 | Модератор |
|
||||||
|
4 | Менеджер |
|
||||||
|
5 | Директор |
|
||||||
|
6 | Администратор |
|
||||||
|
|
||||||
|
## Хранение в БД
|
||||||
|
Все аккаунты хранятся в таблице `sys_accounts`:
|
||||||
|
|
||||||
|
|
||||||
Поле | Тип | Описание
|
Поле | Тип | Описание
|
||||||
----- | ----- | ---------
|
----- | ----- | ---------
|
||||||
id | int 12 |
|
id | int (12) |
|
||||||
login | varchar 200| Логин для авторизации
|
login | varchar (200)| Логин для авторизации
|
||||||
level | int 2 | уровень привелегий
|
level | int (2) | уровень привелегий
|
||||||
password | varchar 32 | пароль в формате md5, позже вероятно можно перейти на sha-256
|
password | varchar (32) | пароль в формате md5, позже вероятно можно перейти на sha-256
|
||||||
name | varchar 250 |Имя для отображения на сайте|
|
name | varchar (250) |Имя для отображения на сайте|
|
||||||
data | JSON |Любые произвольные, обычно анкетные данные, например адрес, этаж, код от домофона, ссылка на соц сеть...
|
data | JSON |Любые произвольные, обычно анкетные данные, например адрес, этаж, код от домофона, ссылка на соц сеть...
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
@@ -35,30 +62,3 @@ ALTER TABLE `sys__accounts`
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Уровни доступа
|
|
||||||
В конкретном приложении можно придумать свои уровни, но на стандартном решени будут вот такие уровни
|
|
||||||
|
|
||||||
Уровень | Роль | Описание
|
|
||||||
----- | ----- | ---------
|
|
||||||
0 | Гость | Обычный посетитель сайта, который не авторизовался
|
|
||||||
1 | Обычный пользователь | Это или покупатель или читатель, может например заходить в свой кабинет, менять свои данные, но в основном ограниченный, с нулевой кармой
|
|
||||||
2 | Привилигированный пользователь | Это человек имеющий например право писать комментарии и как-то модифицировать наполнение внешней части сайта
|
|
||||||
3 | Модератор |
|
|
||||||
4 | Менеджер |
|
|
||||||
5 | Директор |
|
|
||||||
6 | Администратор |
|
|
||||||
|
|
||||||
## Включение контроля доступа
|
|
||||||
Контроль доступа можно включить как на уровне всего пространства (например админка), так и на уровне конкретного модуля, для этого в начале файла достаточно добавить
|
|
||||||
|
|
||||||
```php
|
|
||||||
$user_lev = LE::$ALC->set_lev(2);
|
|
||||||
```
|
|
||||||
Где 2 - это минимальный уровень доступа для данного функционала, даже если посетитель авторизовался, но у него уровень 1, то он не будет иметь доступа к данному функционалу и получит 403 ошибку
|
|
||||||
|
|
||||||
Помимо этого, указанная функция возвращает уровень доступа текущего пользователя, что позволяет кастомизировать меню, скрывать запрещенные пункты итд...
|
|
||||||
|
|
||||||
Если пользователь не авторизован, то он получит форму для ввода логина и пароля, дальнейшее выполнение скрипта остановится.
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user