金字塔中的强制性认证

朱利叶斯

我正在尝试建立一个必须进行身份验证的网站,即如果用户未登录,则仅显示登录页面。问题是如何以最小的成本实现它。我可以用装饰每个视图

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_permissionConfigurator对象中进行设置来实现例如,在__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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章