GWT登录:如何实现它?

GWT登录:如何实现它?,gwt,login,Gwt,Login,我对登录服务的制作有点困惑:我看过很多教程,但仍然无法管理如何制作一个简单的登录服务 我不知道我需要什么工具来记住导航,以及如何使用它们。 我可以使用: public interface LoginServiceAsync { boolean isAuthenticated(AsyncCallback<UserDTO> callback); UserDTO authenticate(String email, String password, AsyncCallbac

我对登录服务的制作有点困惑:我看过很多教程,但仍然无法管理如何制作一个简单的登录服务

我不知道我需要什么工具来记住导航,以及如何使用它们。 我可以使用:

public interface LoginServiceAsync {
    boolean isAuthenticated(AsyncCallback<UserDTO> callback);
    UserDTO authenticate(String email, String password, AsyncCallback<UserDTO> callback);
    void logout(AsyncCallback<UserDTO> callback);
}
公共接口登录服务异步{
布尔值未验证(异步回调);
用于身份验证的用户数据(字符串电子邮件、字符串密码、异步回调);
无效注销(异步回调);
}

但是我在哪里管理Cookies呢?

GWT只是一个将Java代码转换成HTML和JavaScript的工具。在GWT中对用户进行身份验证没有什么特别之处


一个选项是记住用户在会话中经过身份验证,然后在每次客户端进行RPC调用时检查会话。实现取决于您的web服务器。用谷歌搜索你的网络服务器和“会话”,你会发现很多关于如何操作的细节。

我在寻找登录服务时也遇到了同样的问题。最后,我们正在使用,因为我们正在使用Tomcat。在这种情况下,用户直接登录到Tomcat服务器,而不是GWT。每个用户都配置为允许或不允许打开URL(GWT应用程序)。例如,如果GWT应用程序托管在htpp://myhost/GWTapp,可以配置用户是否可以访问“/GWTapp”


对我来说,最大的好处是,不需要通过调用服务器等方式对GWT应用程序进行太多更改。有一种方法可以为您创造一切。

专业提示:如果您不完全理解身份验证应该如何工作,请不要尝试自己去做

在我看来,进行身份验证的最佳方法是重定向到登录表单,从而假设在加载应用程序时,用户已通过身份验证(然后可以使用JSP将特定于用户的值传递给GWT应用程序;请参阅示例)。如果匿名用户必须能够访问您的应用程序,则登录仍将重定向到登录页面。举一个现实生活中的例子,看看谷歌集团是如何运作的

这样,您可以将身份验证委托给知道如何进行身份验证的某个库(例如Spring Security),或委托给某个工具(例如标准servlet身份验证、AppEngine特定身份验证)