Describe user access management
Установка дополнительных модулей
- pip install flask-admin
- pip install mongoengine
- pip isntall flask-security
Ссылки на примеры и документацию
Хранение информация о пользователях/группах и правах
База users в ней две коллекции user и role, создается при запуске скрипта museums/scripts/add_roles.py
user
{
"_id" : ObjectId,
"name" : "",
"email" : "",
"password" : "",
"active" : ,
"roles" : [ ObjectId(//id роли) ]
}
role
{
"_id" : ObjectId,
"name" : "admin",
"description" : [
"read",
"create",
"edit",
"delete",
"edit_tags"
]
}
{
"_id" : ObjectId,
"name" : "user",
"description" : [
"read",
"create",
"edit"
]
}
{
"_id" : ObjectId,
"name" : "nobody",
"description" : [
"read"
]
}
Проверка прав у пользователя
http://localhost/tools/user_managment/userview/
Колонка Roles
В коде: current_user.is_admin()
Разграничение прав
Установить декоратор для аутентификации
@login_required
Установить декоратор для разграничения прав
@roles_required('admin', 'user')