シンプルなルート リソース ファクトリがあります。
class Root:
__acl__ = [
(Allow, Authenticated, 'edit')
]
いくつかの「特別な」ルートについては、別のリソース ファクトリを作成する必要があります。
config.add_route('special', '/special/test', factory=SpecialFactory)
class SpecialFactory:
__acl__ = [
(Allow, Authenticated, 'special_edit')
]
Root
今、私はの親を作りたいですSpecialFactory
- どうすればいいですか?
これは正しい方法ですか...
class SpecialFactory:
def __init__(self, request):
self.request = request
self.__parent__ = Root(request)
self.__name__ = 'special'
__acl__ = [
(Allow, Authenticated, 'special_edit')
]
__name__
また、完全な目的とそれを何に設定する必要があるのか もわかりません。
また、Pyramid が__parent__
チェーンを横断するのはいつで、いつ横断しないのですか? 次のようなビュー構成の場合:
@view_config(route_name='special', permission='special_edit')
def something(req):
pass
Pyramid は両方のアクセス許可 (special_edit
とedit
) または 1 つだけ ( special_edit
) を「収集」しますか?
権限を広範囲に計算する「流れ」を説明してください。