我试图将用户服务与我的应用程序进行交互以限制访问。该应用程序在eclipse中工作正常,但是一旦我将其部署到应用程序引擎,它就不会按预期重定向到Google登录页面,但会出现错误: 服务器错误 服务器遇到错误,无法完成您的请求。 请在30秒后重试。 这是使用的servlet的一部分:
import java.io.IOException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
public class MyLogin extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
UserService userService = UserServiceFactory.getUserService();
String thisURL = "/home.html";
resp.setContentType("text/html");
if (req.getUserPrincipal() != null) {
resp.getWriter().println("<p>Hello, " +
req.getUserPrincipal().getName() +
"! You can <a href=\"" +
userService.createLogoutURL(thisURL) +
"\">sign out</a>.</p>");
} else {
resp.getWriter().println("<p>Please <a href=\"" +
userService.createLoginURL(thisURL) +
"\">sign in</a>.</p>");
}
}
}
答案 0 :(得分:0)
我能够通过将我想要保护的文件移出根目录来解决这个问题。