Describe user access management

Установка дополнительных модулей

  1. pip install flask-admin
  2. pip install mongoengine
  3. 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')