Python 将Pyramid限制为默认情况下需要登录

Python 将Pyramid限制为默认情况下需要登录,python,authorization,pyramid,Python,Authorization,Pyramid,我如何使用pyramid使其要求用户登录,除非我明确表示它不适用于特定视图 目前,我需要为我正在创建的每个视图\u config添加一些必需的权限。如果我忘了一个,我可能会有安全风险。我想换一种方式,在登录时添加一些免费的访问标签等。如果我忘记了其中一个,我将有一个无法访问的页面,这将比丢失的保护更容易被发现 现在我需要一些权限参数,并在AuthPolicy中对此进行检查 @view_config(route_name='my_route', renderer='my_templ.html',

我如何使用pyramid使其要求用户登录,除非我明确表示它不适用于特定视图

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

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

@view_config(route_name='my_route', renderer='my_templ.html', permission='view')
def view_foo(request):
    # ...
我想要像必须添加
permission=None
或者像
@public\u access
之类的第二个装饰器之类的东西

实际上,我现在只想让登录用户可以访问我的所有视图(而不是要求更具体的权限)。但使用权限似乎是正确的方法。任何达到“除非明确指定,否则仅登录”状态的建议都将不胜感激。

用于为未明确设置权限的视图设置权限

这样你就可以做了

config.set_default_permission('private_view')
并将
'private_view'
权限限制为经过身份验证的用户;然后为未经身份验证的用户显式允许某些视图,如登录

请注意:

如果默认权限有效,则查看配置意味着 创建真正匿名可访问的视图(即使是异常视图) 必须将权限导入表的值用作 金字塔。安全。无需许可。当此字符串用作 视图配置的权限,默认权限为 忽略,并注册视图,使其可供所有人使用 呼叫者不考虑其凭据

否则,对404、403视图的访问将被拒绝…

用于为未明确设置权限的视图设置权限

这样你就可以做了

config.set_default_permission('private_view')
并将
'private_view'
权限限制为经过身份验证的用户;然后为未经身份验证的用户显式允许某些视图,如登录

请注意:

如果默认权限有效,则查看配置意味着 创建真正匿名可访问的视图(即使是异常视图) 必须将权限导入表的值用作 金字塔。安全。无需许可。当此字符串用作 视图配置的权限,默认权限为 忽略,并注册视图,使其可供所有人使用 呼叫者不考虑其凭据


否则,将拒绝访问您的404、403视图…

谢谢-这正是我想要的。谷歌FTW,我以前也没有使用过;)我想我以前确实用过。在一个小时的尝试后找不到它——不管是用谷歌还是其他什么方法。现在,如果我再次忘记的话,我有一个地方可以看。神奇的词语是
金字塔默认权限
和第一个链接。但很高兴我能帮助并获得今天的200个代表:DThank you-这正是我要找的。谷歌FTW,我以前也没有用过这个;)我想我以前确实用过。在一个小时的尝试后找不到它——不管是用谷歌还是其他什么方法。如果我再次忘记的话,现在我有一个地方可以看。神奇的词语是
金字塔默认权限
和第一个链接。但是很高兴我能帮助并完成今天的200个代表:D