我对登录服务的制作感到有点困惑:我已经看过很多教程,但仍然无法管理如何制作简单的登录服务。
我不知道我需要哪些工具来记住导航以及如何使用它们。 我可以用:
public interface LoginServiceAsync {
boolean isAuthenticated(AsyncCallback<UserDTO> callback);
UserDTO authenticate(String email, String password, AsyncCallback<UserDTO> callback);
void logout(AsyncCallback<UserDTO> callback);
}
但我在哪里管理Cookies
?
答案 0 :(得分:1)
专业提示:如果您不完全了解身份验证应如何运作,请不要自行尝试。
IMO,进行身份验证的最佳方式是重定向到登录表单,因此假设在加载应用程序时用户已通过身份验证(然后您可以使用JSP将用户特定值传递给GWT app;有关示例,请参阅the guice-rf-activity archetype。如果您的应用必须可供匿名用户访问,登录仍然只会重定向到登录页面。有关实际案例,请查看Google网上论坛的行为方式。
这样,您可以将身份验证委派给知道如何操作的某个库(例如Spring Security),或者某些工具(例如标准servlet身份验证,AppEngine特定身份验证)
答案 1 :(得分:0)
GWT只是一种将Java代码转换为HTML和JavaScript的工具。在GWT中验证用户没什么特别的。
一种选择是记住用户在会话中进行身份验证,然后在每次客户端进行RPC调用时检查会话。实施取决于您的Web服务器。谷歌你的网络服务器和“会话”,你会发现有关如何做的大量细节。
答案 2 :(得分:0)
我在尝试查找登录服务时遇到同样的问题。最后我们使用CAS Single Sign Out,因为我们正在使用Tomcat。在这种情况下,用户直接登录Tomcat服务器而不是GWT。每个用户都配置为允许打开URL(GWT应用程序)。例如,如果GWT应用程序托管在htpp:// myhost / GWTapp中,则可以配置用户是否可以访问“/ GWTapp”。
对我来说,最好的好处是,不需要通过调用服务器来改变很多GWT应用程序等等。有一个GWT CAS client可以帮助你。