После входа в интерфейс администратора в качестве суперпользователя, вы имеете права на создание, изменение и удаление любого объекта. Обычно, различные среды требуют различные системы назначения прав — не каждый может или должен быть суперпользователем. Интерфейс администратора использует систему управления правами, которую вы можете применять для предоставления определённым пользователям права доступа к ограниченному объёму информации.
Такие учётные записи являются достаточно общими для использования вне интерфейса администратора, но в данный момент мы будем их рассматривать в качестве учётных записей административных пользователей. В главе «Средства от других разработчиков» мы рассмотрим, как интегрировать учетные записи пользователей с остальной частью вашего сайта (т.е., использовать их не только в интерфейсе администратора).
Вы можете управлять пользователями и правами через интерфейс администратора, аналогично управлению любым другим объектом. Мы рассматривали это ранее в данной главе, когда мы изучали разделы пользователей и групп. Пользовательские объекты обладают стандартными полями логина, пароля, адреса электронной почты и так далее, дополнительно прилагается набор полей, которые определяют, что именно разрешено делать пользователю на интерфейсе администратора. Существует набор из трёх флагов:
Флаг «is active» (активен) управляет активностью пользователя в общем смысле. Если флаг отключен, пользователь не пройдёт аутентификацию даже при указании правильного пароля.
Флаг «is staff» (сотрудник) управляет доступом пользователя к интерфейсу администратора (т.е., является ли пользователь штатным сотрудником вашей организации). Так как, тот же самый пользователь системы может управлять доступом к публичной, не административной, части сайтов (обратитесь к главе «Средства от других разработчиков»), значение этого флага разделяет обычных пользователей от администраторов.
Флаг «is superuser» (суперпользователь) предоставляет пользователю полные права на добавление, создание и удаление любого элемента на интерфейсе администратора. Обычные правила доступа игнорируются.
«Обычные» административные пользователи — т.е., сотрудники — имеют ограниченный набор прав для работы с интерфейсом администратора. Каждый объект, который можно отредактировать через интерфейс (т.е., книги, авторы) обладает тремя правами: право на создание, право на редактирование и право на удаление. Наделение правами пользователя позволяет ему выполнять эти действия.
Когда вы создаёте пользователя, он не обладает никакими правами и задача наделения пользователя ими лежит целиком на вас. Например, вы можете дать пользователю право на добавление и изменение издателей, но не дать права на их удаление. Следует отметить, что права выдаются на каждую модель в отдельности, а не на каждый объект модели. Таким образом, это позволяет вам сказать «Иван может изменять любую книгу», но не позволяет сказать «Иван может изменять любую книгу изданную Apress». Такая функциональность, как права на каждый объект лежит вне данной книги, но хорошо освещена в официальной документации на Django.
Замечание
Доступ к редактированию пользователей и их прав также управляется этой системой. Если вы разрешили кому-нибудь редактировать пользователей, то он сможет изменять свои собственные права, а это может выходить за рамки того, что вы желали! Предоставление пользователю права редактировать пользователей явно превращает его в суперпользователя.
Также вы можете добавлять пользователей в группы. Группа — это список пользователей, которых объединяет общий набор прав. Группы полезны при назначении одинаковых прав на большое количество пользователей.
| Пред. | Уровень выше | След. |
| Собственные классы ModelAdmin | Начало | Когда и почему надо использовать интерфейс администратора, а когда не надо |
0 comments | Make a comment