Ich versuche, Windows-Authentifizierung mit einer Drittanbieter-Anwendung mit GWT entwickelt zu arbeiten. Ich hosste die App mit Tomcat, auf einem Windows-Server. Ich greife über einen IIS-Proxy auf die Site zu (nach der Tomcat-Dokumentation installiert).Warum ist request.getRemoteUser() manchmal Tomcat Windows-Dienstkonto zurückgeben
Wenn ich ein .jsp der Webapp ändern, um "<% = request.getRemoteUser()%>" anzuzeigen, bekomme ich den Benutzernamen, für den ich hoppe, mein Windows-Konto.
Aber die Webapp authentifiziert mich mit dem Konto, auf dem ich den Tomcat Windows-Dienst mit auf dem Server installiert habe.
Im (dekompilierten) Quellcode der Webapp sehe ich einen Aufruf der exakt gleichen "request.getRemoteUser()", also frage ich mich, wo der Unterschied sein kann.
Hier sind die dekompilierten Klassen:
import javax.servlet.http.HttpServletRequest;
public class RemoteUserLoginProvider
extends BaseRequestLoginProvider
{
public String extractLoginFromRequest(HttpServletRequest request)
{
return request.getRemoteUser();
}
}
Und:
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;
}
}
konnte mein Problem zu diesen Fehler auf Googles guice verknüpft werden: https://github.com/google/guice/issues/780?
Wenn ja, gibt es irgendwelche Arbeiten?
Ich formulierte meine Frage hier: http://stackoverflow.com/questions/38664679/request-getremoteuser-returns-a-different-login-in-jsp-than-in-a-servlet-filt, nach zusätzlichen Tests die Möglichkeit auszuschließen, dass das Problem mit guice/gwt war. – Laloutre