ApplicationPoolIdentity IIS 7.5 से SQL Server 2008 R2 काम नहीं कर रहा है


11

मेरे पास एक छोटा ASP.NET परीक्षण स्क्रिप्ट है जो डोमेन में किसी अन्य मशीन पर SQL सर्वर डेटाबेस के लिए एक कनेक्शन खोलता है। यह सभी मामलों में काम नहीं कर रहा है।

सेट अप:

W2K8R2 के तहत IIS 7.5 दूरस्थ SQL Server 2008 R2 आवृत्ति से कनेक्ट करने का प्रयास कर रहा है। सभी मशीनें एक ही डोमेन में हैं।

निम्न के साथ SQL सर्वर से कनेक्ट करने में विफल वेब साइट के लिए ApplicationPoolIdentity का उपयोग करना:

उपयोगकर्ता 'NT AUTHORITY \ ANONYMOUS लोगो' के लिए लॉगिन विफल हुआ। विवरण: वर्तमान वेब अनुरोध के निष्पादन के दौरान एक अनियंत्रित अपवाद हुआ। कृपया त्रुटि के बारे में अधिक जानकारी के लिए स्टैक ट्रेस की समीक्षा करें और यह कोड में कहां उत्पन्न हुआ।

अपवाद विवरण: System.Data.SqlClient.SqlException: उपयोगकर्ता 'NT AUTHORITY \ ANONYMOUS लॉगऑन' के लिए लॉगिन विफल।

हालाँकि अगर मैं प्रोसेस मॉडल आइडेंटिटी को NETWORK सर्विस या मेरे डोमेन अकाउंट पर स्विच करता हूं तो डेटाबेस कनेक्शन सफल होता है।

मैंने SQL सर्वर में \ $ पहुंच प्रदान की है।

मैं वेब साइट पर किसी भी प्रकार का प्रमाणीकरण नहीं कर रहा हूं, यह सुनिश्चित करने के लिए डेटाबेस से कनेक्शन खोलने के लिए एक सरल स्क्रिप्ट है कि यह काम करता है।

मेरे पास बेनामी प्रमाणीकरण सक्षम है और एप्लिकेशन पूल पहचान का उपयोग करने के लिए सेट है।

मैं यह काम कैसे पूरा कर सकता हूं? ApplicationPoolIdentity ANONYMOUS लोगो का उपयोग करने की कोशिश क्यों कर रहा है? अभी तक बेहतर है, मैं इसे अनाम लॉगऑन का उपयोग कैसे रोकूं?


1
आप हमेशा केवल AppPool पहचान को NETWORK SERVICE के रूप में सेट कर सकते हैं।
जॉनइरप्रो

जवाबों:


4

मेरे पास भी यही मुद्दा था। इस पृष्ठ के अनुसार , ApplicationPoolIdentity को मशीन खाते (DOMAIN \ COMPUTERNAME $) के रूप में नेटवर्क संसाधनों तक पहुंचने के लिए माना जाता है, लेकिन यह SQL सर्वर तक पहुंचने के लिए NT AUTHORITY \ ANONYMOUS लॉगऑन का उपयोग कर रहा था।

मैं इस हॉटफिक्स को ApplicationPoolIdentity के रूप में काम कर पाने में सक्षम था क्योंकि डॉक्टर को यह कहना चाहिए। यह हॉटफ़िक्स विशेष रूप से NT AUTHORITY \ ANONYMOUS लोगो के रूप में नेटवर्क संसाधनों तक पहुँचने के लिए एक समाधान का वर्णन नहीं करता है, लेकिन यह कंप्यूटर पासवर्ड बदलने से संबंधित है।

इस स्टैकओवरफ़्लो धागे ने मुझे इस समाधान को खोजने में मदद की:

ASP.NET पहचान और SQL पहचान डिबगिंग के लिए अन्य उपयोगी सुझाव

चूँकि SQL एकीकृत स्रोत थ्रेड पहचान से संबंधित है, इसलिए यह आपकी उपयोगकर्ता पहचान, थ्रेड पहचान (प्रतिरूपण के आधार पर परिवर्तन) और SQL सर्वर लॉगिन को देखने में सक्षम होने के लिए उपयोगी है। यह ASPX स्निपेट तीनों को प्रदर्शित करता है:

<%@ Import Namespace="System.Security.Principal" %>

<div>ASP.NET Request User identity: <%= User.Identity.Name %></div>
<div>Current thread/process WindowsIdentity: <%= WindowsIdentity.GetCurrent(false).Name %></div>
<asp:SqlDataSource ID="CurrentUserData" runat="server" ConnectionString="<%$ ConnectionStrings:ConnID %>"
           SelectCommand="select SYSTEM_USER" />
<asp:DetailsView DataSourceID="CurrentUserData" runat="server" />

2

मेरे पास एक ही मुद्दा था। मैंने कई घंटों तक अपने बाल खींचे और अंत में मशीन को रिबूट किया। मसला चला गया! ध्यान दें कि आईआईएसआरसेट के माध्यम से आईआईएस को फिर से शुरू करना समस्या का समाधान नहीं है। यह केवल तब चला गया जब मैंने सर्वर को फिर से शुरू किया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.