1

我有一个从应用程序引擎 servlet 接收 JSON 数据的 android 客户端。我还能够获得身份验证 cookie。现在,我想从请求中获取用户到 servlet。

小服务程序代码:

   `User user = (User) req.getAttribute("user");
    String cookie = (String) req.getHeader("Cookie");
    if(user == null){
        UserService userService = UserServiceFactory.getUserService();
        user = userService.getCurrentUser();
    }`

安卓帖子:

HttpGet get = new HttpGet(Setup.PROD_URL+"/viewselectedclass");
    SharedPreferences prefs = Util.getSharedPreferences(getBaseContext());
    String cookie = prefs.getString(Util.AUTH_COOKIE, null);
    get.setHeader("Cookie", cookie);
    client = new DefaultHttpClient();
    HttpResponse r = client.execute(get);

我在 HttpGet 请求的标头中设置了 auth cookie。我相信这个cookie必须用于识别服务器上的用户。但在 servlet 中,它说用户对象为空。

如何从 Android 向 App 引擎发送请求以获取当前用户。我一定在这里遗漏了一些东西。

4

1 回答 1

0

好的,我通过创建自己的名为 MyUser 的数据存储实体来解决这个问题,将注册期间数据存储生成的 ID 发送到 android 客户端,并使用此 ID 在所有进一步的请求中识别用户。我根本没有使用 GAE 的 UserService。

于 2013-03-31T07:16:41.657 回答