我有一个从app引擎servlet接收JSON数据的android客户端。我也可以获得身份验证cookie。现在,我想让用户从请求到servlet。
Servlet代码:
`User user = (User) req.getAttribute("user");
String cookie = (String) req.getHeader("Cookie");
if(user == null){
UserService userService = UserServiceFactory.getUserService();
user = userService.getCurrentUser();
}`
Android帖子:
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中,它表示users对象为null。
如何从Android向App引擎发送请求以获取当前用户。我必须在这里遗漏一些东西。
答案 0 :(得分:0)
好的,我通过创建自己的名为MyUser的数据存储实体解决了这个问题,在注册过程中将数据存储区生成的ID发送到了android客户端,并使用此ID在所有进一步的请求中识别用户。我根本没有使用GAE的UserService。