有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

google app engine如何在GAE java中为自定义用户数据库创建cookie?

我知道,使用谷歌应用程序引擎提供的用户服务,cookies会自动在后台创建,我永远不必处理它们。然而,对于我的特定项目,我需要创建一个自定义用户数据库——如何知道用户已登录或注销?我是否需要为用户浏览器等创建cookie

干杯, 抢劫


共 (1) 个答案

  1. # 1 楼答案

    不,你不需要。你需要做的就是通过添加

    <sessions-enabled>true</sessions-enabled>
    

    转到appengine-web.xml文件See documentation.

    本质上,GAE是一个servlet容器。因此,您几乎可以利用任何标准JavaServlet容器的所有机制。会话就是其中之一

    那么你要做的是:

    1. 调用request.getSession(true)获取当前会话,如果尚未完成,则创建一个新会话
    2. 做一些类似session.getAttribute("userId")的事情。请注意,“userId”只是一个例子,它本质上是一个字符串对象映射,您可以在其中存储几乎任何东西
    3. 如果上述调用返回null,则表示尚未设置,因此用户尚未登录。让他登录:
      • 获取用户名和密码,在数据存储中解析,执行session.setAttribute("userId", user.getId())
      • 由于会话属性“userId”现在已设置,用户已登录
    4. 如果上述调用返回一个id,您可以在数据存储中解析它,以获取当前登录的用户

    试试看!这真的很轻松,一切都是为你做的,不需要自己处理饼干、会话令牌或任何东西