Как создать отдельный модуль для разрешений на основе ролей в django? - PullRequest
0 голосов
/ 17 января 2020

Описание функции:

3 различных роли, которые будут созданы в системе для управления доступом.

enter image description here enter image description here

Пример использования:

Администратор: иметь полный доступ

Обработчик: Тот, кто может просто добавлять и выпускать инвентарь. Не могу проверить запас или получить доступ к любому отчету.

Менеджер: тот, кто может получить доступ к отчетам о запасах и другим отчетам

Подробное описание:

Создать вкладку управления списком для обработки вкладки пользователей

Доступность.

Администратор может предоставить доступ только определенной вкладке только конкретному пользователю.

Добавить функцию поиска Список работ с навигацией. Создание ролей заданий

Назначение доступа к различным модулям для этой роли задания

1 Ответ

0 голосов
/ 17 января 2020

Прежде всего, создайте группы и добавьте разрешения для группы. И, наконец, добавьте пользователя в группу. Ниже приведен только пример, пожалуйста, изучите его.

1.создайте группу и добавьте разрешение в группу

from django.contrib.auth.models import Group, Permission, User
from django.contrib.contenttypes.models import ContentType 

# import User model 

new_group, created = Group.objects.get_or_create(name ='Administrator') 

# Code to add permission to group 
ct = ContentType.objects.get_for_model(YourTable) 

# If I want to add 'Can go Haridwar' permission to level0 ? 
permission = Permission.objects.create(codename ='can_add', 
                                    name ='Can add in your table', 
                                            content_type = ct) 
new_group.permissions.add(permission) 

2.Добавьте пользователя в группу

user = User.objects.get(id=user_id)
group = Group.objects.get(name='Administrator')
user.groups.add(group)

3 На основе группы пользователей вы можете управлять своей системой.

...