मैं जीडब्ल्यूटी के साथ विकसित तीसरे पक्ष के आवेदन के साथ काम करने के लिए विंडोज प्रमाणीकरण प्राप्त करने की कोशिश कर रहा हूं। मैं एक विंडोज सर्वर पर, टोमकैट के साथ ऐप होस्ट कर रहा हूं। मैं आईआईएस प्रॉक्सी के माध्यम से साइट तक पहुंचता हूं (टॉमकैट के दस्तावेज़ीकरण के बाद स्थापित)।अनुरोध क्यों है .getRemoteUser() कभी-कभी टॉमकैट विंडोज सेवा खाते को वापस लौटाता है
यदि मैं "<% = request.getRemoteUser()%>" प्रदर्शित करने के लिए वेबपैप के .jsp को संशोधित करता हूं, तो मुझे अपना विंडोज खाता, मैं अपना उपयोगकर्ता नाम प्राप्त कर रहा हूं।
लेकिन वेबपैप मुझे उस खाते से प्रमाणित करता है जिसे मैंने सर्वर पर टॉमकैट विंडोज सेवा स्थापित की है।
वेबपैप के (डिकंपिल्ड) स्रोत कोड में, मुझे सटीक "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;
}
}
मेरी समस्या गूगल के guice पर इस बग से जोड़ा जा सकता है
यहाँ decompiled कक्षाओं कर रहे हैं?
यदि हां, तो क्या कोई काम है?
मैंने यहां अपना प्रश्न दोहराया: http://stackoverflow.com/questions/38664679/request-getremoteuser-returns-a-different-login-in-jsp-than-in-a-servlet-filt, अतिरिक्त परीक्षण के बाद इस संभावना को रद्द करने के लिए कि समस्या guice/gwt के साथ थी। – Laloutre