|
|
1
3
当然有可能。 如果您使用Google帐户进行身份验证,则用户通过将其凭据发布到Google来登录,Google将向您的网站返回一个身份验证令牌,该令牌随后存储在用户浏览器中作为cookie。在cookie过期(默认为24小时)或用户注销之前,令牌一直有效。 如果要跟踪多个登录会话,可以编写设计为在登录或注销后运行的处理程序。如果您的正常登录后返回URL是“/do-tuff”,您可以将其更改为“/finish-login”?下一步=%2做什么。在该处理程序中,您可以在数据存储中创建一个表示会话的实体,其中引用了Google帐户、登录的IP地址和登录时间戳(当前时间戳)。您可以将会话实体密钥写入用户浏览器中的另一个cookie。完成后,重定向到“下一个”URL。 注销后,您可以使用类似的处理程序来检查会话实体键cookie、删除实体和删除cookie。 如果要向用户显示他们是从多个位置登录的,请查询与他们的Google帐户相关联的会话实体,这些会话实体的使用时间少于24小时(或者无论您的cookie过期时间设置为什么)。 如果您想远程注销另一个会话,您可能需要编写自己版本的登录装饰器,该装饰器是Google在webapp.util中提供的。您的版本需要验证用户是否已登录,验证是否发送了会话密钥cookie,以及验证关联实体是否仍然存在以及是否属于正确的帐户。 |
|
|
2
2
没有什么能阻止你在谷歌应用引擎数据服务中存储登录信息。 因此,您可以将用户的所有登录详细信息存储在其关联对象中。因此,我要说的是,GAE和传统的Web应用程序没有区别——只是您将登录信息存储在数据库中,而不是让Web前端处理它。 |