Próbuję uzyskać uwierzytelnianie systemu Windows w celu pracy z aplikacją innej firmy opracowaną z GWT. Hostuję aplikację z tomcat na serwerze Windows. Uzyskuję dostęp do witryny za pośrednictwem serwera proxy IIS (zainstalowanego zgodnie z dokumentacją tomcat).Dlaczego request.getRemoteUser() zwraca czasami konto usługi tomcat windows
Jeśli zmodyfikuję .jsp na webappie, aby wyświetlić "<% = request.getRemoteUser()%>", otrzymuję nazwę użytkownika, do której skakałem, moje konto Windows.
Ale aplikacja internetowa uwierzytelnia mnie za pomocą konta, na którym zainstalowałem usługę Windows Tomcat na serwerze.
W (zdekompilowanym) kodzie źródłowym aplikacji widzę wywołanie dokładnie tego samego "request.getRemoteUser()", więc zastanawiam się, gdzie może być różnica.
Oto dekompilowana klas:
import javax.servlet.http.HttpServletRequest;
public class RemoteUserLoginProvider
extends BaseRequestLoginProvider
{
public String extractLoginFromRequest(HttpServletRequest request)
{
return request.getRemoteUser();
}
}
I:
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;
}
}
Może mój problem jest związany z tym błędem na google za Guice: https://github.com/google/guice/issues/780?
Jeśli tak, czy jest jakieś obejście?
Przeformułowałem moje pytanie tutaj: http://stackoverflow.com/questions/38664679/request-getremoteuser-returns-a-different-login-in-jsp-than-in-a-servlet-filt, po dodatkowych testach aby wykluczyć możliwość, że problem dotyczył guice/gwt. – Laloutre