2014-10-22 45 views

回答

0

这是因为Java快速入门演示利用会话来识别用户。会话的生命周期结束的原因之一是由于用户退出浏览器。因此,当您关闭并重新打开浏览器时,由于会话结束,Web应用程序无法识别您。

为先检查会话用户身份的代码是在快速入门演示项目的AuthFilter.java

if (AuthUtil.getUserId(httpRequest) == null 
     || AuthUtil.getCredential(AuthUtil.getUserId(httpRequest)) == null 
     || AuthUtil.getCredential(AuthUtil.getUserId(httpRequest)).getAccessToken() == null) { 
    // redirect to auth flow 
    httpResponse.sendRedirect(WebUtil.buildUrl(httpRequest, "/oauth2callback")); 
    return; 
    } 

如果servlet无法找到该用户ID(因为是这样,当用户ID不再保存在一个会话中),它会再次运行用户身份验证过程,并以上述代码中的httpResponse.sendRedirect调用开始。

+1

你能给我解决它的方法吗? – Sniper 2014-11-13 13:05:48