के साथ विंडोज प्रमाणीकरण मुझे वर्तमान में एसएसआरएस का उपयोग कर कुछ समस्याएं आ रही हैं। मेरे पास एक एएसपी.नेट वेबसाइट है जो विंडोज प्रमाणीकरण का उपयोग करती है। यह ठीक काम करता है और मुझे पता है कि वेबसाइट वर्तमान उपयोगकर्ता वर्तमान में लॉग ऑन उपयोगकर्ता है।एसएसआरएस एएसपी.NET रिपोर्ट व्यूअर और वेब सेवा
इस साइट पर एक वेबफॉर्म ReportViewer है। जब मैं प्रमाण-पत्र सेट नहीं करता हूं तो यह ठीक काम करता है। हालांकि SQL सर्वर में रिपोर्ट के लिए निष्पादन लॉग को देखते हुए उपयोगकर्ता नाम DOMAIN \ MACHINE के रूप में सूचीबद्ध है।
मैं नीचे एक तरह एक वर्ग के लिए ReportServerCredentials संपत्ति की स्थापना की कोशिश की है:
[Serializable]
public class ReportCredentials : IReportServerCredentials
{
public bool GetFormsCredentials(out Cookie authCookie, out string userName, out string password, out string authority)
{
authCookie = null;
userName = null;
password = null;
authority = null;
return false;
}
public WindowsIdentity ImpersonationUser
{
get {
return (WindowsIdentity)HttpContext.Current.User.Identity;
}
}
public ICredentials NetworkCredentials
{
get {
return null;
}
}
}
हालांकि, जब इस कोड को निष्पादित करता है मैं अब वेब सेवा और रिपोर्ट से वापस एक 401 मिलता है सर्विस।
क्या चल रहा है? वे दोनों एक ही डोमेन पर हैं। मैं वर्तमान उपयोगकर्ता का उपयोग करना चाहता हूं, न कि वर्तमान मशीन। अगर मैं रिपोर्ट सर्वर पर रिपोर्ट चलाता हूं तो यह सही वेबसाइट के नीचे सूचीबद्ध होता है, सिर्फ मेरी वेबसाइट से नहीं।
ये मैंने कोशिश की है कि पहले, लेकिन अभी भी मिल गया एक 401 :( – Lloyd
असल में मैं झूठ बोलना, कैश्ड किया गया होगा। रिपोर्ट अब चलता है, लेकिन उपयोगकर्ता नाम \t कर्मचारियों \ UKBRISDDWRKA424 $ मशीन है। गरर के रूप में दर्ज किया गया है। – Lloyd