我正在用金字塔框架(伟大的框架)工作,我已经到了用户授权的地步。我想利用ACL来阻止已经登录的用户访问注册页面。显然,我可以通过其他方式做到这一点,但我想知道是否有办法使用金字塔中的工具来做到这一点。金字塔身份验证系统有多灵活?
我知道,通过向视图添加权限,不符合条件的用户将显示一个禁止视图。就我而言,我只是想将已经成员的用户从不适用于他们的视图(注册,登录等)转移出去。
我试过__acl__ = [(Deny, Authenticated, 'guest')]
无济于事,因为它阻止所有用户的登录页面。
另外,在另一个说明中,有没有什么办法可以动态地改变路线。我希望主页对登录的用户而言不同于用户的主页。
金字塔的身份验证系统非常灵活,这就是为什么它可能很难缠绕你的头。我无法真正告诉你你从ACL的单个片段中做错了什么,但是我可以告诉你,如果你打开'pyramid.debug_authentication',它将有助于告诉你的验证策略返回哪些主体。 – 2012-02-25 22:50:28
谢谢迈克尔。所以我假设我确实朝着正确的方向走了一段我放的片段? – BDuelz 2012-02-26 01:08:24
另外,当禁止视图被调用时,是否有办法获得被调用的初始请求,以便我可以相应地采取行动并重定向到正确的页面? – BDuelz 2012-02-26 01:10:10