我试图让Windows验证与使用GWT开发的第三方应用程序一起工作。 我在tom服务器上托管应用程序。我通过IIS代理访问站点(在tomcat的文档之后安装)。为什么request.getRemoteUser()返回tomcat windows服务帐户有时
如果我修改了webapp的一个.jsp文件以显示“<%= request.getRemoteUser()%>”,我得到了我想要跳到的用户名,我的Windows帐户。
但是webapp用我在服务器上安装了Tomcat windows服务的账户进行身份验证。
在webapp的(反编译的)源代码中,我看到对同一个“request.getRemoteUser()”的调用,所以我想知道哪里可以有所不同。
下面是反编译的类:
import javax.servlet.http.HttpServletRequest;
public class RemoteUserLoginProvider
extends BaseRequestLoginProvider
{
public String extractLoginFromRequest(HttpServletRequest request)
{
return request.getRemoteUser();
}
}
和:
import com.google.inject.Inject;
import com.google.inject.Provider;
import javax.servlet.http.HttpServletRequest;
public abstract class BaseRequestLoginProvider
implements Provider<String>
{
@Inject
private Provider<HttpServletRequest> requestProvider;
public abstract String extractLoginFromRequest(HttpServletRequest paramHttpServletRequest);
public String get()
{
HttpServletRequest request = (HttpServletRequest)this.requestProvider.get();
String userlogin = extractLoginFromRequest(request);
return userlogin;
}
}
难道我的问题被链接到这个bug谷歌的吉斯:https://github.com/google/guice/issues/780?
如果是这样,是否有任何解决办法?
我在这里重新表述了我的问题:http://stackoverflow.com/questions/38664679/request-getremoteuser-returns-a-different-login-in-jsp-than-in-a-servlet-filt,经过附加测试排除问题出现在guice/gwt的可能性。 – Laloutre