私はGWTで開発されたサードパーティアプリケーションで動作するようにWindows認証を取得しようとしています。 私はWindowsサーバー上でtomcatを使ってアプリケーションをホストしています。私は、IISプロキシ(Tomcatのドキュメントの後にインストールされています)を介してサイトにアクセスします。何故、tomcat windowsサービスアカウントを返すrequest.getRemoteUser()が時々
"<%= request.getRemoteUser()%>"を表示するように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();
}
}
そして:はhttps://github.com/google/guice/issues/780:
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;
}
}
私の問題は、GoogleのGuiceの上でこのバグにリンクしていませんか?
もしそうなら、回避策はありますか?
私はここで私の質問に言い換えました:追加のテストの後、私はここに私の質問を言い換えました:http://stackoverflow.com/questions/38664679/request-getremoteuser-returns-a-different-login-in-jsp-than-in-a-servlet-filt問題がguice/gwtにあった可能性を除外します。 – Laloutre