我正在尝试建立一个必须进行身份验证的网站,即如果用户未登录,则仅显示登录页面。问题是如何以最小的成本实现它。我可以用装饰每个视图
permission='authenticated'
其中“已认证”是我的许可名称;但也许有一种更简单的方法,默认情况下,所有视图都需要身份验证。
请注意,我已经接受了以下答案,但是我相信还有更多答案。配置位:
config = Configurator(settings=settings,
default_permission='standard_view',
root_factory='RootFactory')
安全性-权限位:
class RootFactory(object):
__acl__ = [(Allow, Authenticated, 'standard_view'),
(Allow, 'g:admin', 'admin_view'),
]
有一种方法可以通过default_permission
在Configurator
对象中进行设置来实现。例如,在__init__.py中,您可以拥有类似于以下内容的内容:
from pyramid.config import Configurator
def main(global_config, **settings):
config = Configurator(settings=settings, default_permission='authenticated')
config.include('pyramid_chameleon')
config.scan()
return config.make_wsgi_app()
您可以在以下三个链接中找到更多信息:http : //docs.pylonsproject.org/docs/pyramid/en/latest/api/config.html http://docs.pylonsproject.org/docs/pyramid/en/latest /narr/security.html#setting-a-default-permission http://docs.pylonsproject.org/docs/pyramid/zh-CN/latest/api/config.html#pyramid.config.Configurator.set_default_permission
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句