Security Gwt&x2B;Gae安全性:登录页面

Security Gwt&x2B;Gae安全性:登录页面,security,google-app-engine,gwt,login,Security,Google App Engine,Gwt,Login,谷歌AppEngine的“留言簿”教程非常漂亮和干净 我可以通过谷歌账户轻松认证我的用户,这真是太棒了 现在,想象一下,如果我的应用程序是GWT应用程序 我可以创建两个页面:Login.jsp和MyApp.jsp,然后使用简单的if/else条件“保护”MyApp.jsp,就像在留言簿教程中一样 然后,我的web应用程序将使用gwt rpc之类的东西与我的服务进行ajax通信。但是 我如何使此服务安全?我是否必须每次都向他们传递用户名/密码,并且每次都要检查身份验证?你能告诉我更多的情况吗 如果

谷歌AppEngine的“留言簿”教程非常漂亮和干净

我可以通过谷歌账户轻松认证我的用户,这真是太棒了

现在,想象一下,如果我的应用程序是GWT应用程序

我可以创建两个页面:Login.jsp和MyApp.jsp,然后使用简单的if/else条件“保护”MyApp.jsp,就像在留言簿教程中一样

然后,我的web应用程序将使用gwt rpc之类的东西与我的服务进行ajax通信。但是

我如何使此服务安全?我是否必须每次都向他们传递用户名/密码,并且每次都要检查身份验证?你能告诉我更多的情况吗

如果我想使用我自己的用户,而不是谷歌账户,那该怎么办?如何让我的用户保持登录状态?例如,通过将登录用户的sessionId保存在用户实体中


Thx

如果用户使用用户API登录,则他们进行的所有Javascript RPC调用也将携带所需的身份验证cookie。您可以简单地检查用户是否使用常规用户API进行了身份验证,就像您对交互请求进行身份验证一样。

如果用户使用用户API登录,则他们进行的所有Javascript RPC调用也将携带所需的身份验证cookie。您可以简单地检查用户是否使用常规用户API进行了身份验证,就像您对交互式请求进行身份验证一样。

1)很好。但有没有一种更聪明的方法,而不是在用户登录时检查每个呼叫?我考虑创建一个GwtRpcServletTemplate类,以避免代码重复,但我仍然感到困惑……2)使用我自己的用户怎么样?如何与会话交互?@Fabio任何解决方案都需要进行这些测试。您可以使用执行测试的父Servlet类,并在执行自己的工作之前调用父实现。或者您可以编写一个需要登录的筛选器。对于2-你自己的用户呢?如果你愿意,你当然可以从头开始实现,在这种情况下,它在App Engine上的工作原理与其他任何地方完全相同。谢谢你,尼克,我对“过滤器”解决方案特别感兴趣,你能给我举一个基本的例子吗?我的#2问题是关于我必须知道什么才能编写自己的“用户服务”,我指的是会话,等等。。。关于谁我不太了解!:-p@Fabio搜索“Servlet过滤器”——它是JavaServlet堆栈的标准组件,有大量文档和示例。Java不是我的强项,所以在细节方面我帮不了多少忙——如果你对它有具体的问题,也许可以问另一个问题?1)很好。但有没有一种更聪明的方法,而不是在用户登录时检查每个呼叫?我考虑创建一个GwtRpcServletTemplate类,以避免代码重复,但我仍然感到困惑……2)使用我自己的用户怎么样?如何与会话交互?@Fabio任何解决方案都需要进行这些测试。您可以使用执行测试的父Servlet类,并在执行自己的工作之前调用父实现。或者您可以编写一个需要登录的筛选器。对于2-你自己的用户呢?如果你愿意,你当然可以从头开始实现,在这种情况下,它在App Engine上的工作原理与其他任何地方完全相同。谢谢你,尼克,我对“过滤器”解决方案特别感兴趣,你能给我举一个基本的例子吗?我的#2问题是关于我必须知道什么才能编写自己的“用户服务”,我指的是会话,等等。。。关于谁我不太了解!:-p@Fabio搜索“Servlet过滤器”——它是JavaServlet堆栈的标准组件,有大量文档和示例。Java不是我的强项,所以在细节方面我帮不了多少忙——如果您对它有具体的问题,也许可以问另一个问题?