我正在尝试将Mozilla Persona(browserid)集成到一个金字塔应用程序中。登录过程是:
现在,我想处理一个新用户订阅web应用程序的情况,并呈现一个新视图,询问更多细节(所需用户名等)。在
因为“remember”函数是由弹出窗口中的ajax调用调用的,所以我无法将“/newuser”页面重定向给用户。 因此,每当记住的browserid在数据库中没有对应的用户时,每个视图都需要将新用户重定向到“/newuser”url。在
有没有方法可以在调用视图之前截获用户请求来调用“new\u user”视图?或者我的身份验证方法根本不正确,我应该依赖另一种方法?在
一种方法是创建一个异常,该异常应该在创建用户时引发,并将此异常用作重定向到新页面的视图的上下文。在
确保在第一次登录后的第一次请求期间引发异常(例如,在创建用户对象之后),用户将被重定向到右侧页面。在
您也可以将欢迎页面的代码直接放在
new_user_exception
中,但是如果不重定向,该页面将有用户所要求的url,无论它是什么。在另一个解决方案是调整角色部分是如何完成的。为此,我猜测您使用的是pyramid_persona(我是作者:)。如果没有,我所说的仍然适用,而且会更简单。在
你可以做的是:
登录视图的代码可以使用金字塔人物角色的登录视图,如下所示:
^{pr2}$编辑:金字塔人物的文档中现在有一部分是关于这个的:Do extra work or verification at login。在
相关问题 更多 >
编程相关推荐