GWT/GAE(Java):与GAE结合使用时,app.yaml/web.xml用户身份验证和登录/注销实际上不起作用
我正在使用GWT和GAE(Java)编写一个web应用程序。我非常了解GAE,尤其是Python版本;我不熟悉GWT和GAE的Java版本GWT/GAE(Java):与GAE结合使用时,app.yaml/web.xml用户身份验证和登录/注销实际上不起作用,java,google-app-engine,gwt,authentication,Java,Google App Engine,Gwt,Authentication,我正在使用GWT和GAE(Java)编写一个web应用程序。我非常了解GAE,尤其是Python版本;我不熟悉GWT和GAE的Java版本 我试图设置我的应用程序,以便用户必须登录才能访问;来自app.yaml application: myapp version: 1 runtime: java welcome_files: - index.jsp - index.html handlers: - url: /admin/* # secure: always login: ad
我试图设置我的应用程序,以便用户必须登录才能访问;来自app.yaml
application: myapp
version: 1
runtime: java
welcome_files:
- index.jsp
- index.html
handlers:
- url: /admin/*
# secure: always
login: admin
- url: /MyApp.html
# secure: always
login: required
这似乎会生成一个在主页上有访问限制的web.xml:
<security-constraint>
<web-resource-collection>
<url-pattern>/MyApp.html</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
</security-constraint>
我正在使用gwt-2.4.0。您可以拥有一个servlet(或JSP页面),用于创建注销url并将客户端重定向到该url。您可以拥有一个servlet(或JSP页面)这将创建一个注销url并将客户端重定向到该url。来自Google App Engine的便笺演示代码使用RPC,并在服务器端使用以下内容创建链接:
userService.createLogoutURL(userService.createLoginURL("/"))
我还没有试过
更新:我对它进行了测试,效果很好。Google App Engine的便笺演示代码使用RPC,链接是在服务器端使用以下内容创建的:
userService.createLogoutURL(userService.createLoginURL("/"))
我还没有试过
更新:我对它进行了测试,效果很好。你的意思是(1)创建一个LogoutServlet,生成注销url,然后向其发出重定向,然后(2)让主页上有一个指向LogoutServlet的“注销”链接?我不明白的是,我们需要点击服务器来生成注销url的目的是什么?我不能直接用手把它交给客户吗?我从userService.createLogoutURL()中得到的注销url似乎没有什么特别之处;也就是说,例如,它似乎不包含用户的一些ID。你知道关于我发布的第二个问题的任何信息吗,这个问题以“另一个奇怪的效果…”开头;也就是说,当用户未登录时,他们如何能够看到页面?app.yaml/web.xml中的约束应该防止这种情况发生,除非还有其他事情发生;可能只是浏览器中剩下的页面和该页面中的JavaScript再次命中服务器。1。是的。你实际上不需要注销。这只是清除服务器上的用户会话。我从不从我的帐户(gmail、twitter等)注销。只有当计算机被多人使用时才需要注销。3.不能说。需要更多检查。你的意思是(1)创建一个LogoutServlet来生成注销url,然后向其发出重定向,然后(2)让主页上有一个指向LogoutServlet的“注销”链接?我不明白的是,我们需要点击服务器来生成注销url的目的是什么?我不能直接用手把它交给客户吗?我从userService.createLogoutURL()中得到的注销url似乎没有什么特别之处;也就是说,例如,它似乎不包含用户的一些ID。你知道关于我发布的第二个问题的任何信息吗,这个问题以“另一个奇怪的效果…”开头;也就是说,当用户未登录时,他们如何能够看到页面?app.yaml/web.xml中的约束应该防止这种情况发生,除非还有其他事情发生;可能只是浏览器中剩下的页面和该页面中的JavaScript再次命中服务器。1。是的。你实际上不需要注销。这只是清除服务器上的用户会话。我从不从我的帐户(gmail、twitter等)注销。只有当计算机被多人使用时才需要注销。3.不能说。需要更多的检查。