限制金字塔要求defau登录

2024-03-28 19:49:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我怎样才能使用金字塔,这样它就要求用户登录,除非我明确地说它不适用于某个视图?在

目前我需要为我正在创建的每个view_config添加一些必需的权限。如果我忘了一个,我可能会有安全隐患。我想换一种方式,在登录时添加一些免费的访问标签等。如果我忘记了其中一个,我将有一个无法访问的页面,这将比丢失的保护更容易被发现。在

现在我需要一些权限参数,并在我的AuthPolicy中对此进行检查

@view_config(route_name='my_route', renderer='my_templ.html', permission='view')
def view_foo(request):
    # ...

我想要一些东西,比如必须添加permission=None或者可能是第二个装饰器,比如@public_access或者其他什么。在

我现在只想让登录的用户访问我的所有视图(而不是请求更具体的权限)。但是使用权限似乎是正确的方法。任何建议,以实现“除非明确规定,否则只登录”的情况将不胜感激。在


Tags: 用户nameview视图config权限参数my
1条回答
网友
1楼 · 发布于 2024-03-28 19:49:06

使用^{}为没有显式设置的视图设置权限。在

这样你就能做到

config.set_default_permission('private_view')

并将'private_view'权限限制为经过身份验证的用户;然后显式地允许未经身份验证的用户使用某些视图,如login。在

请注意:

If a default permission is in effect, view configurations meant to create a truly anonymously accessible view (even exception view views) must use the value of the permission importable as pyramid.security.NO_PERMISSION_REQUIRED. When this string is used as the permission for a view configuration, the default permission is ignored, and the view is registered, making it available to all callers regardless of their credentials.

否则访问404403个视图将被拒绝。。。在

相关问题 更多 >