【发布时间】:2016-12-03 07:27:37
【问题描述】:
我正在尝试让 Windows 身份验证与使用 GWT 开发的第 3 方应用程序一起工作。 我在 Windows 服务器上使用 tomcat 托管应用程序。我通过 IIS 代理(按照 tomcat 的文档安装)访问该站点。
如果我修改 webapp 的 .jsp 以显示 "" ,我会得到我想要的用户名,我的 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;
}
}
我的问题是否与谷歌 guice 上的这个错误有关:https://github.com/google/guice/issues/780?
如果是这样,有什么解决方法吗?
【问题讨论】:
-
我在这里改写了我的问题:stackoverflow.com/questions/38664679/…,经过额外测试以排除问题出在 guice/gwt 的可能性。
标签: java tomcat iis gwt windows-authentication