Как я могу написать свои собственные разрешения в Django - PullRequest
0 голосов
/ 27 декабря 2018

Я хочу написать свои собственные разрешения в Django, я имею в виду, что я хочу точно определить, что пользователь может или не может делать, я прочитал это введите описание ссылки здесь , но кажется, что change_task_status является предопределенным вДжанго.например, я хочу точно определить, что пользователи могут иметь доступ только к методу get представления и только от 1 до 8 строки таблицы базы данных, и так далее.Как я могу это сделать?

Редактировать:

Прежде всего, я сделал это с разрешениями по умолчанию, которые есть в таблице auth_permission в Django, для каждой модели он создает разрешенияДобавить / просмотреть / изменить / удалить в этой таблице, и я знаю, что я могу использовать его для своих целей.но у меня есть две проблемы, во-первых, я не хочу использовать класс разрешений по умолчанию od Django.contrib, модель аутентификации, поэтому я хочу создать свою собственную таблицу разрешений (вместо auth_permissions, у меня есть mapp_permissions), это создает для меня проблему сейчасНовая таблица не заполнена разрешениями по умолчанию, поэтому мне нужно определить разрешения самостоятельно. Я имею в виду, что должен сказать, что означает add_modelname, а также после того, как я это сделаю, мне нужно определить некоторые новые разрешения, например, для одной модели: user_x имеет разрешение view_modelname,пользователи также имеют это разрешение, но из данных этой модели, которые хранятся в базе данных user_y, можно просто увидеть записи от 1 до 8 таблицы дБ не все

Редактировать 2:

как вы можете видеть в комментарии класса разрешений, он говорит: «В настоящее время невозможно сказать, что« Мэри может изменять только те новости, которые имеют определенный статус или дату публикации ».« Как я могу сделать это возможным?также в файлах Django должен быть код, определяющий для машины, например, add_user, который находится в таблице, означает, что

1 Ответ

0 голосов
/ 27 декабря 2018

Согласно Edit 2 , я вижу, что у вас есть некоторая бизнес-логика, связанная с проверкой разрешений, посмотрите django-rules , я думаю, это то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...