Как ограничить разрешения на основе идентификатора одной страницы в URL-адресе?

Я пытаюсь внедрить функции безопасности Pyramid на своем веб-сайте, но у меня возникли проблемы с тем, как их использовать.

Я прочитал это руководство и этот пример , а также документы Pyramid, и я не могу понять, как реализовать политику авторизации для одной страницы. идентификаторы.

Например, у меня есть следующая схема URL-адресов :

/pages
/pages/12

/pages, в которой явно перечислены доступные страницы, а /pages/:id— это место, где вы можете читать/комментировать страницу.

Документация/примеры, которые я прочитал, показали, что вы можете реализовать ACS на уровне группы, предоставив groupfinderобратный вызов со списком групп. Например, editor, adminи т. д.

Как я могу не использовать группу для разрешений, а вместо этого права на основе идентификатора страницы?

В моей схеме URL выше, когда пользователь просматривает /pages, он должен войти в систему. Когда он просматривает /pages/:id, ему должен быть предоставлен доступ для просмотра этого конкретного идентификатора. Или они должны быть владельцем этой страницы.

То же, что и комментарии. На странице /page/:idим может быть предоставлен доступ для просмотра страницы, но не комментирования.

6
задан Kane 22 April 2012 в 09:07
поделиться