Я пытаюсь внедрить функции безопасности Pyramid на своем веб-сайте, но у меня возникли проблемы с тем, как их использовать.
Я прочитал это руководство и этот пример , а также документы Pyramid, и я не могу понять, как реализовать политику авторизации для одной страницы. идентификаторы.
Например, у меня есть следующая схема URL-адресов :
/pages
/pages/12
/pages
, в которой явно перечислены доступные страницы, а /pages/:id
— это место, где вы можете читать/комментировать страницу.
Документация/примеры, которые я прочитал, показали, что вы можете реализовать ACS на уровне группы, предоставив groupfinder
обратный вызов со списком групп. Например, editor
, admin
и т. д.
Как я могу не использовать группу для разрешений, а вместо этого права на основе идентификатора страницы?
В моей схеме URL выше, когда пользователь просматривает /pages
, он должен войти в систему. Когда он просматривает /pages/:id
, ему должен быть предоставлен доступ для просмотра этого конкретного идентификатора. Или они должны быть владельцем этой страницы.
То же, что и комментарии. На странице /page/:id
им может быть предоставлен доступ для просмотра страницы, но не комментирования.