2009-12-04 24 views
8

में SQL सर्वर और विंडोज प्रमाणीकरण मैं SQL सर्वर और विंडोज प्रमाणीकरण का उपयोग कर Vista (IIS7) पर चल रहे एएसपी.NET वेबसाइट को प्राप्त करने का प्रयास कर रहा हूं।आईआईएस 7

 
    SqlException was unhandled 
    Login failed for user 'MyDomain\MachineName$'. 

यह बात करने के लिए क्या सेटिंग्स मैं लागू नहीं लगता है, मैं IIS7 मेरे Windows लॉगइन क्रेडेंशियल्स के माध्यम से पारित करने के लिए नहीं कर सकते हैं: कोई फर्क नहीं पड़ता कि मुझे क्या करना है, जब मैं डेटाबेस से कनेक्ट, मैं अपवाद मिलता है।

अतिरिक्त विवरण:

  • दोनों एसक्यूएल सर्वर और अपने स्थानीय मशीन ActiveDirectory
  • Vista एंटरप्राइज़, IIS7
  • SQL सर्वर 2005
  • बेनामी प्रमाणीकरण विकलांग, विंडोज प्रमाणीकरण सक्षम
  • पर हैं प्रतिरूपण चालू/बंद कोई फर्क नहीं पड़ता
  • सभी पहचान (नेटवर्क सेवा, लोकलसिज़ tem, आदि) एक ही परिणाम
  • क्लासिक देने के लिए और एकीकृत पाइपलाइनों एक ही परिणाम दे

मदद!

+1

आईएसएस और विभिन्न सर्वर या पर एसक्यूएल सर्वर है एक ही सर्वर? –

+0

हाँ, वे विभिन्न सर्वरों पर चल रहे हैं। – gerrod

उत्तर

7

प्रतिरूपण/बंद सभी अंतर है, जब ठीक से विन्यस्त करता है पर है।क्या आप caled है 'प्रतिनिधिमंडल विवश' चाहते हैं और आप इसके लिए आईआईएस और एएसपी विन्यस्त करने की जरूरत:

+0

यह टिकट की तरह लगता है, धन्यवाद Remus के लिए होगा नेटवर्क व्यवस्थापक करने के लिए इसे छोड़ देंगे। जब मैं कल काम पर वापस आऊंगा तो मैं कोशिश करूँगा! – gerrod

0

क्या आपने अपने आवेदन के लिए एक नया उपयोगकर्ता खाता बनाने का प्रयास किया है, इसे एसक्यूएल सर्वर पर उचित अधिकार दें, और फिर इस नए खाते के तहत आवेदन पूल को चलाने के लिए सेट करें? यह वही है जो मैं आमतौर पर करता हूं, और यह काम करता है। मैं नेटवर्क सेवा, लोकलसिस्टम या अन्य बिल्टिन खातों के तहत अपना आवेदन नहीं चला रहा हूं।

+0

ठीक नहीं; लेकिन मुझे यह सुनिश्चित करने के लिए एकीकृत विंडोज प्रमाणीकरण का उपयोग करने की आवश्यकता है कि एप्लिकेशन का उपयोगकर्ता कौन है। आम तौर पर मैं वही काम करता हूं, अन्यथा! :-) – gerrod

1

डिफ़ॉल्ट रूप से, आईआईएस सर्वर को आपको SQL सर्वर की ओर impersonate की अनुमति नहीं है। इसे कॉन्फ़िगर करने के तरीके पर MSDN article है। विन्यास प्रक्रिया जटिल और त्रुटि प्रवण है।

यदि आपका उत्पादन आईएसएस और एसक्यूएल सर्वर विभिन्न सर्वरों पर चलता है, तो आपको दो सर्वरों के बीच प्रतिरूपण विश्वास को कॉन्फ़िगर करने के लिए एक डोमेन व्यवस्थापक की आवश्यकता होगी। यह आमतौर पर एक बड़े संगठन में जाना नहीं है।

सामान्य व्यवस्थापक द्वारा तैनात नहीं किए जाने के अलावा, प्रतिरूपण उपयोगकर्ताओं को एसक्यूएल कनेक्शन पूल में अपने कनेक्शन साझा करने से रोकता है। इसके परिणामस्वरूप छोटी (5+ उपयोगकर्ता) वेबसाइटों के लिए एक बहुत ही उल्लेखनीय प्रदर्शन जुर्माना होता है।

+0

ठीक है, टिप के लिए धन्यवाद। ईमानदार होने के लिए मैं बस इसे अपनी स्थानीय मशीन पर काम करना चाहता हूं; एक बार यह तैनात हो जाता है मैं इसे बाहर काम करने के :-) – gerrod

0

क्या आपके कनेक्शन स्ट्रिंग में Integrated Security=SSPI है?

क्या आपने एएसपीनेट संदर्भ को डोमेन उपयोगकर्ता के रूप में भी स्विच किया है?

यहाँ इस विषय पर एक MSDN लेख

http://msdn.microsoft.com/en-us/library/2xzyzb0f.aspx

+0

एकीकृत सुरक्षा आईआईएस cmause, जो अपने आप के रूप में प्रमाणित आम तौर पर 'IUSR_ComputerName' – Andomar