将登录信息从Apache/PHP传递到Tomcat/GWT

将登录信息从Apache/PHP传递到Tomcat/GWT,php,security,gwt,Php,Security,Gwt,我们计划部署GWT模块,如中所述 在“将Tomcat与ApacheHTTPD和代理一起使用”一节中 基本上,我们将Apache/PHP服务器配置为将请求传递给与URL的一部分匹配的Tomcat/GWT服务器。这是意料之中的事。 现在,我们希望将当前登录用户的信息从Apache/PHP传递到GWT模块 我最初的想法是从PHP页面加载GWT模块(通过包含nocache.js),并包含GWT模块可以读取的登录令牌。 但我不知道读取DOM值是否安全,并将其视为登录令牌。 有什么最好的方法的建议吗? 谢谢

我们计划部署GWT模块,如中所述 在“将Tomcat与ApacheHTTPD和代理一起使用”一节中

基本上,我们将Apache/PHP服务器配置为将请求传递给与URL的一部分匹配的Tomcat/GWT服务器。这是意料之中的事。 现在,我们希望将当前登录用户的信息从Apache/PHP传递到GWT模块

我最初的想法是从PHP页面加载GWT模块(通过包含nocache.js),并包含GWT模块可以读取的登录令牌。 但我不知道读取DOM值是否安全,并将其视为登录令牌。

有什么最好的方法的建议吗?
谢谢。

我认为使用登录令牌是最好的办法,它是从apache/php传递到您的gwt项目的。要传递此令牌,您有三种可能:

第一个:您可以使用cookie传递您的令牌。将令牌写入cookie,并在GWT上下文中再次读取:

import com.google.gwt.user.client.Cookies;
Collection<String> cookies = Cookies.getCookieNames();
// returns whole query string 
public static String getQueryString() {
    return Window.Location.getQueryString();
}

// returns specific parameter
public static String getQueryString(String name) {   
    return Window.Location.getParameter(name);
}
这是一种你永远不应该选择的方法

第三个:您也可以使用HTTP POST,而不是HTTP GET。HTTP POST被发送到服务器。因此,您必须使用一个简单的servlet在服务器端处理请求。这可以实现为Singleton,因此可以从GWT服务器上下文中读取。这种方法有点复杂,需要做很多工作,因为您必须将信息传递回GWT客户机上下文


哪个版本最适合你,取决于你项目的细节。通常我会说,Cookie版本是最好的。

我认为使用登录令牌是最好的主意,它是从apache/php传递到gwt项目的。要传递此令牌,您有三种可能:

第一个:您可以使用cookie传递您的令牌。将令牌写入cookie,并在GWT上下文中再次读取:

import com.google.gwt.user.client.Cookies;
Collection<String> cookies = Cookies.getCookieNames();
// returns whole query string 
public static String getQueryString() {
    return Window.Location.getQueryString();
}

// returns specific parameter
public static String getQueryString(String name) {   
    return Window.Location.getParameter(name);
}
这是一种你永远不应该选择的方法

第三个:您也可以使用HTTP POST,而不是HTTP GET。HTTP POST被发送到服务器。因此,您必须使用一个简单的servlet在服务器端处理请求。这可以实现为Singleton,因此可以从GWT服务器上下文中读取。这种方法有点复杂,需要做很多工作,因为您必须将信息传递回GWT客户机上下文


哪个版本最适合你,取决于你项目的细节。通常我会说,Cookie版本是最好的。

谢谢你的回复。我现在在PHP页面上使用一个隐藏的输入值来插入一个随机令牌,并将用户Id和令牌一起保存回数据库中。GWT模块将在加载时读取并删除。感谢您的回复。我现在在PHP页面上使用一个隐藏的输入值来插入一个随机令牌,并将用户Id和令牌一起保存回数据库中。GWT模块将在加载时读取并删除该数据。