我使用GAE用户服务来实现登录/注销机制,以及create_login_url等,一切都很好。顺便说一句,我使用联邦OpenID选项。在
但我有一个问题-因为用户服务与用户进行检查=users.get_当前用户()然后,如果用户登录到他的gmail,它会自动将他登录到我的服务中。这是可以的,但是如果另一个用户想要登录呢? 如何将用户重定向到“以不同用户身份登录”之类的页面?在
我试图删除我正在创建的cookie,但它被删除了:
if not (self.request.cookies.has_key('ACSID')): logging.debug('no cookies') self.redirect(users.create_login_url(self.request.uri)) return
然后我看到了“没有cookies”的日志,但是接下来发生的事情是,它让用户登录,而没有把他放在“google帐户”登录页面上。。。所以用户永远没有机会以不同的用户身份登录。在
有什么想法吗?在
我能想到的最好的方法是:您可以尝试显示一个指向
/_ah/login_required
的链接,它将触发OpenID登录页面,并且(希望)还包含一个“以其他人身份登录”按钮。在这并不能完全解决问题,因为多个openid提供者会使问题变得复杂。在
不可能强迫某人从提供商的站点AFAIK注销。在
创建登录/这不是我页面的完整示例:
将登录路径添加到您的
app.yaml
创建一个OpenID登录处理程序来创建一个相关的登录url
^{pr2}$向wgsi应用程序添加OpenID处理程序(可能是
main.py
):现在,您可以访问
/_ah/login_required
,只要您希望有人提示您登录(或“这不是我”页面)相关问题 更多 >
编程相关推荐