मेरे पास 2 एएसपी.नेट एमवीसी 3 अनुप्रयोग हैं। मैं web.config के माध्यम से प्रतिरूपण का उपयोग कर रहा हूं ताकि उपयोगकर्ता पर विवरण प्राप्त करने के लिए मुझे सक्रिय निर्देशिका से पूछने की अनुमति मिल सके। एप्लिकेशन विंडोज प्रमाणीकरण का उपयोग करता है और अज्ञात उपयोगकर्ताओं को अनुमति नहीं देता है। एक आवेदन प्राथमिक एप्लिकेशन है जहां उपयोगकर्ता अपना कार्य करता है। दूसरा उपयोगकर्ता को एप्लिकेशन में एक जैसा दिखने के लिए अन्य उपयोगकर्ता की स्थापना करने की अनुमति देता है।प्रतिरूपण, सक्रिय निर्देशिका, और "उपयोगकर्ता के पास xxxx का अधिकार नहीं है" मुद्दे
परीक्षण उपयोगकर्ता के निम्न त्रुटि हो रही है:
SQL1092N "<DOMAIN ID>" does not have the authority to perform the requested command.
यह तब होता है के बाद मैं माध्यमिक एक के लिए मेरी प्राथमिक आवेदन से एक वेब अनुरोध भेजें। उस काम को पाने के लिए मुझे अनुरोध को वास्तविक उपयोगकर्ता का प्रतिरूपण करना था, न कि आवेदन प्रतिरूपण के लिए उपयोग की जाने वाली पहचान। यह वास्तव में एक एसओ सवाल है जिसे मैंने पोस्ट किया था और जवाब दिया था। यही कारण है कि यहाँ है: How do I call an MVC Action via a WebRequest and validate the request through Active Directory?
कि कोड के अंत में, मैं फोन:
impersonationContext.Undo();
यह इस वेब अनुरोध के बाद जगह लेता है, कि प्राथमिक आवेदन डाटाबेस को ऐक्सेस की कोशिश करता है और अब ऐसा लगता है कि इसके बाद के संस्करण कॉल एप्लिकेशन के प्रतिरूपण को पूर्ववत कर दिया है, इसलिए डेटाबेस कनेक्शन खोलने वाले उपयोगकर्ता को करने का प्रयास विफल रहता है। कम से कम, हेड बाशिंग के एक दिन के बाद यह मेरा कामकाजी सिद्धांत है।
मेरा सवाल है, मैं web.config में उपयोगकर्ता को वापस लौटने के लिए एप्लिकेशन का प्रतिरूपण कैसे प्राप्त कर सकता हूं? या, मेरा वेब अनुरोध करते समय, यह सुनिश्चित करने का कोई तरीका है कि प्रतिरूपण संदर्भ केवल उस अनुरोध पर लागू होता है?
इस सब का पूरा बिंदु यह है कि दूसरे एप्लिकेशन का अपना एसक्यूएल सर्वर डेटाबेस है। प्राथमिक अनुप्रयोग डीबी 2 का उपयोग करता है। मैं एक बार डेटाबेस एक्सेस कोड लिखना चाहता हूं, लेकिन इसे दोनों अनुप्रयोगों में उपयोग करें। वर्तमान में मैंने जो किया है, लेकिन डेटा प्राप्त करने के लिए वेब अनुरोध पर निर्भर होने का मेरा तरीका सबसे अच्छा तरीका नहीं हो सकता है।
मैं किसी भी विचार, टिप्पणियां, सुझाव, और/या आलोचना के लिए खुला हूं। मुझे इसे संभालने के बारे में कैसे जाना चाहिए?
क्या ऐसी कोई चीज है जिसे मुझे स्पष्ट करने की आवश्यकता है? जिस तरह से सवाल रास्ते में हो रहा है? प्रतिक्रिया का स्वागत किया। मुझे जहां कहीं भी संभव हो, फिर से लिखना या स्पष्ट करना नहीं है। – jason