एकीकृत विंडोज़ प्रमाणीकरण का उपयोग करके लॉगिन प्रॉम्प्ट प्राप्त करना


108

मेरे पास Windows 2003 सर्वर पर IIS 7 के तहत .NET 3.5 एप्लिकेशन चल रहा है और मुझे लॉगिन के लिए संकेत मिलना जारी रहने के साथ एकीकृत विंडोज़ प्रमाणीकरण ठीक से काम नहीं कर सकता है। मैंने आईआईएस में सक्षम करने के लिए सभी अन्य प्रकार के अक्षम और मेरे आवेदन web.config फ़ाइल प्रमाणीकरण / प्राधिकरण के साथ Windows प्रमाणीकरण सेट किया है:

<system.web>
    <compilation debug="true" strict="false" explicit="true" targetFramework="3.5" />
    <authenticationmode="Windows"/>
    <authorization>
    <deny users = "?" />
    </authorization>
</system.web>

इस सेटअप के साथ, मैं अनाम उपयोगकर्ता के अनाम सत्यापन के पीछे पहुंचने और अनाम उपयोगकर्ताओं को अस्वीकार करने की अनुमति देने की अपेक्षा कर रहा हूं। हालाँकि, मुझे जो मिल रहा है, वह साइट को एक्सेस करने की कोशिश करने पर विंडोज लॉगिन पॉप-अप है।

मैं कुछ दिनों से इस समस्या का निवारण कर रहा हूं और समस्या का पता नहीं लगा सकता। समान समस्याओं वाली पोस्ट के आधार पर, मैंने पुष्टि की कि मेरे URL में कोई अवधियों को शामिल नहीं किया गया है, दोहरी जाँच की गई है कि मेरी IE सेटिंग्स एकीकृत Windows प्रमाणीकरण सक्षम करने के लिए सेट की गई हैं, और अपने इंट्रानेट साइटों पर अपना URL भी जोड़ा है, लेकिन अभी भी पॉप-अप प्राप्त कर रहा है।

इसे और समस्या निवारण के लिए, मैंने IIS में बेनामी प्रमाणीकरण सक्षम किया और अपनी web.config फ़ाइल को संशोधित किया, जिससे मुझे राइट-इन किया गया और फिर Response.Write (System.Security.Principal.WindowsIdentifity.getDurrent () user.name.toString () जोड़ा। ) यह देखने की कोशिश करें कि प्रमाणीकरण में उपयोगकर्ता का क्या उपयोग किया जा रहा है। जो परिणाम मुझे मिल रहा है वह IIS APPPOOL \ myapp है जो स्पष्ट रूप से मेरे आवेदन के लिए IIS अनुप्रयोग पूल है।

मैं वास्तव में किसी की मदद की सराहना करता हूं कोई भी प्रदान कर सकता है ताकि मैं अभी भी केवल विंडोज़ प्रमाणीकरण का उपयोग कर रहा हूं, लेकिन पॉप-अप नहीं मिलता है और विंडोज़ प्रमाणीकरण वास्तविक विंडोज उपयोगकर्ता के खिलाफ किया जाता है।

धन्यवाद।


समस्या निवारण के बाद अतिरिक्त नोट:

बस ध्यान दिया जाता है कि जब लॉगिन विफल हो जाता है और Windows लॉगिन प्रांप्ट फिर से प्रदर्शित होता है, तो यह उपयोगकर्ता नाम दिखा रहा है जिसने "SERVERNAME" \ "USERNAME" के रूप में लॉगिन करने का प्रयास किया, जिससे मुझे विश्वास हो गया कि यह उपयोगकर्ता को सर्वर बनाम के विरुद्ध मान्य करने का प्रयास कर रहा है। डोमेन। इसकी पुष्टि करने के लिए, मैंने नेटवर्क सर्वर के समान उपयोगकर्ता नाम और पासवर्ड के साथ सीधे ऐप सर्वर पर एक स्थानीय उपयोगकर्ता खाता बनाया और फिर से लॉगिन करने का प्रयास किया। इसका परिणाम यह हुआ कि मुझे दोबारा लॉगिन प्रॉम्प्ट प्राप्त हुआ लेकिन जब मैंने इस बार उपयोगकर्ता नाम और पासवर्ड दर्ज किया, तो मैं सफलतापूर्वक लॉगिन करने में सक्षम था। नेटवर्क उपयोगकर्ता और ऐप सर्वर एक ही डोमेन पर हैं इसलिए वास्तव में यह सुनिश्चित नहीं है कि IIS प्रमाणीकरण स्थानीय ऐप सर्वर खातों की ओर इशारा कर रहा है और डोमेन खातों के लिए नहीं। मुझे पता है कि यह इस बिंदु पर एक IIS प्रश्न है, इसलिए मंचों पर पोस्ट करना।


4
प्रमाणीकरण और मोड के बीच एक स्थान होना चाहिए, जैसे: <authentication mode="Windows" />उम्मीद है कि आपके प्रश्न में केवल एक टाइपो था?
शॉन हैनले

3
आपका चल रहा है iis 7 सर्वर 2003 पर, क्या आप सुनिश्चित हैं कि मैं लगभग सकारात्मक हूं यह संभव नहीं है।
ऐचो

जवाबों:


86

मेरे पास एक विंडोज 2008 सर्वर है जिस पर मैं काम कर रहा हूं, इसलिए मेरा जवाब पूरी तरह से वैसा नहीं है जैसा कि ओपी के पास विंडोज 2003 सर्वर पर है।

यहाँ मैंने क्या किया (इसे यहाँ रिकॉर्ड कर रहा हूँ ताकि बाद में पता चल सके)।

मैं एक ही मुद्दा था:

लॉगिन प्रांप्ट

मेरी Web.config फ़ाइल में, मेरे पास यह अनुभाग है:

<system.web>
    <authentication mode="Windows" />
    <authorization>
        <allow users="*" />
        <deny users="?" />
    </authorization>
</system.web>

IIS के तहत, इन सभी को प्रमाणीकरण चिह्न के तहत हल किया जा रहा है ।

  1. अनुमतियाँ संपादित करें: सुनिश्चित करें कि आपके ASP.NET खाते की अनुमति है। मेरा मूल रूप से जोड़ा नहीं गया था।

ASP.NET अनुमति

अब प्रमाणीकरण की विशेषताओं में जाएं :

प्रमाणीकरण सुविधाएँ

इसके साथ बेनामी प्रमाणीकरण सक्षम करें IUSR:

अनाम प्रमाणीकरण

Windows प्रमाणीकरण सक्षम करें , फिर प्रदाता सेट करने के लिए राइट-क्लिक करें ।

NTLM को चाहिए FIRST!

विंडोज प्रमाणीकरण

इसके बाद, कि जाँच के तहत उन्नत सेटिंग ... विस्तारित संरक्षण है स्वीकार करें और सक्षम कर्नेल-मोड प्रमाणीकरण जाँच कर रहा है:

एडवांस सेटिंग

एक बार ऐसा करने के बाद, मैं अपने वेब एप्लिकेशन पर वापस गया, ब्राउज़ लिंक पर क्लिक किया, और फिर से अपनी साख प्रदान करने के लिए बिना लॉग इन किया।

मुझे उम्मीद है कि यह आप में से कई के लिए फायदेमंद साबित होता है, और मुझे आशा है कि यह मेरे लिए बाद में भी उपयोगी है।


1
धन्यवाद, सुजय मैंने देखा कि इन तकनीकों में से अधिकांश में एसओ की कमी है, यह दिखाने के लिए कि वे किस बारे में बात कर रहे हैं, इसलिए मैं अपने द्वारा उपयोग किए जाने वाले सभी चरणों को दिखाना चाहता था। यदि यह किसी के लिए काम नहीं करता है, तो कम से कम वे अपने द्वारा उठाए गए सभी चरणों को देख सकते हैं, और प्रयास करने के लिए अन्य विकल्प क्या हैं।
jp2code

1
यह आश्चर्यजनक है मैं इस वजह से पागल हो रहा हूं। और pics ने इसे बहुत आसान बना दिया। धन्यवाद!!
क्रेटोसमाफिया

1
इसने मेरे लिए भी काम किया, लेकिन मुझे अंत में अपने विंडोज 2008 आर 2 उदाहरण को फिर से शुरू करना पड़ा। मुझे लगता है कि इसका उल्लेख करना महत्वपूर्ण हो सकता है।
अलेक्सी माइलकिन

6
Windows Server 2012 IIS 8.5
मिन्ह गुयेन

3
क्या यह सिर्फ अनाम प्रमाणीकरण को सक्षम नहीं करता है जिससे विंडोज़ प्रमाणीकरण को अनदेखा किया जा सके? वास्तविक प्रश्न, यह है कि ऊपर मुझे कैसे दिखाई देता है।
पॉल हॉजसन

49

सिर्फ दूसरे लोगों के फायदे के लिए। यदि त्रुटि है 401.1 Unauthorizedऔर आपका त्रुटि कोड मेल खाता है0xc000006d , तो आप वास्तव में एक सुरक्षा "सुविधा" में चल रहे हैं जो FQDN या कस्टम होस्ट हेडर के अनुरोधों को ब्लॉक करता है जो आपके स्थानीय मशीन के नाम से मेल नहीं खाते:

समस्या को हल करने के लिए इस समर्थन आलेख का पालन करें:

https://webconnection.west-wind.com/docs/_4gi0ql5jb.htm (मूल, अब ख़राब: http://support.microsoft.com/kb/896861 )

समर्थन लेख से, यह सुनिश्चित करने के लिए कि यह खो न जाए:

आस-पास का काम एक रजिस्ट्री हैक है जो इस नीति को स्पष्ट रूप से अक्षम करता है।

इस कॉन्फ़िगरेशन को मैन्युअल रूप से करने के लिए सर्वर पर रजिस्ट्री में यह कुंजी ढूंढें:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

और एक नई कुंजी जोड़ें या जोड़ें:

DisableLoopbackCheck (DWORD)

फिर लूपबैक चेक (स्थानीय प्रमाणीकरण कार्यों) को अक्षम करने के लिए 1 को मान भेजा, या 0 (स्थानीय प्रमाणीकरण की अनुमति नहीं है)।

या अधिक आसानी से आप Powershell का उपयोग कर सकते हैं:

New-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa -Name "DisableLoopbackCheck" -Value "1" -PropertyType dword

ऐसा लगता है कि हाल ही में विंडोज 10 (1803 और बाद में) का निर्माण भी स्थानीय स्तर पर प्रमाणित करने के लिए इस कॉन्फ़िगरेशन सेटिंग की आवश्यकता है।

इसने मुझे थोड़ी देर लगाई क्योंकि यहाँ बाकी सभी की टिप्पणियाँ मेरी मदद करने में विफल रहीं। मुझे यह लेख मिला और यह तय हो गया!


3
आप साहब मेरे f * जी हीरो हैं! मैं इसे पाने के लिए बहुत सारे "समाधान" के माध्यम से रहा हूं। धन्यवाद!

1
पवित्र गाय! दो दिन इस काम को करने की कोशिश की, और आखिरकार आपने मुझे जवाब दे दिया! धन्यवाद!
बर्नीएसएफ

1
कई उत्तरों के माध्यम से जुताई करने और देखने के बाद कि विन्यास मेरे लिए समान था, यह उत्तर था!
Sietse

1
आप किंवदंती! इसने मेरे लिए काम किया। मैंने इसे खोजने में लंबा समय बिताया।
एंडी वेन्सेल

2
@ नया लेख के साथ अपडेट किया गया और पोस्टरिटी के लिए सारांश भी जोड़ा गया ताकि वह खो न जाए। MS समर्थन के लिए बहुत कुछ पर्मलिंक!
कामरानिकस 19

26

मेरे पास एक समान मुद्दा था जिससे मैं अपनी वेबसाइट के केवल एक निश्चित हिस्से की रक्षा करना चाहता था। आईई को छोड़कर सब कुछ अच्छा हुआ। मेरे पास बेनामी और विंडोज प्रमाणीकरण दोनों सक्षम हैं। बेनामी के लिए, पहचान अनुप्रयोग पूल पहचान के लिए सेट है। समस्या विंडोज ऑथेंटिकेशन के साथ थी। कुछ खुदाई के बाद मैंने फिडलर को निकाल दिया और पाया कि यह कर्बरोस को प्रदाता के रूप में उपयोग कर रहा था (वास्तव में यह डिफ़ॉल्ट रूप से नेगोशिएट करने के लिए सेट है)। मैंने इसे NTLM में बदल दिया और इसने इसे ठीक कर दिया। HTH

Daudi


1
यह मेरे लिए किया है, धन्यवाद! मैं स्थानीय रूप से एक्सेस करने पर विंडोज उपयोगकर्ता को लेने में सक्षम था, लेकिन क्रेडेंशियल्स अनुरोध डोमेन में किसी अन्य मशीन से पॉप अप होगा।
जेसनचो

1
@Daudi आप प्रमाणीकरण विधि के अनुसार पहचान कैसे सेट करते हैं?
रोब बेल

18

अनुमति [डोमेन उपयोगकर्ता] को अपनी वेब सुरक्षा में जोड़ें।

  • साइट फ़ोल्डर के अंतर्गत IIS में अपनी साइट पर राइट क्लिक करें
  • अनुमतियाँ संपादित करें पर क्लिक करें ...
  • सुरक्षा टैब का चयन करें
  • समूह या उपयोगकर्ता नाम अनुभाग के अंतर्गत संपादन ... बटन पर क्लिक करें
  • अनुमतियाँ पॉप अप में, समूह या उपयोगकर्ता नाम के तहत जोड़ें पर क्लिक करें ...
  • पाठ क्षेत्र का चयन करने के लिए ऑब्जेक्ट नामों में [डोमेन उपयोगकर्ता] दर्ज करें और परिवर्तन को लागू करने के लिए ठीक पर क्लिक करें
  • अनुमतियाँ पॉप अप को बंद करने के लिए ठीक क्लिक करें
  • गुण पॉप अप को बंद करने के लिए ठीक क्लिक करें और अपनी नई सेटिंग्स लागू करें

10
यह कैसे करना है पर कदम सहायक होगा।
चपिन

2
+1। आपने मेरा दिन और मेरी पवित्रता को बचाया है। बहुत सराहना की!
stakx -

11

सब कुछ बदलकर अपने सर्वर पर गलतियाँ न करें। यदि आपके पास 2008 R2 पर Windows प्रमाणीकरण का उपयोग करते समय लॉगऑन के लिए विंडोज़ प्रॉम्प्ट है, तो बस अपने प्रत्येक एप्लिकेशन के लिए ProvidersUP पर जाएं और आगे बढ़ें NTLM। जब Negotiateसूची में पहला है, तो Windows प्रमाणीकरण 2008 R2 पर विशिष्ट एप्लिकेशन के लिए संपत्ति का काम करना बंद कर सकता है और आपको कभी भी काम न करने के लिए उपयोगकर्ता नाम और पासवर्ड दर्ज करने के लिए कहा जा सकता है। कि कुछ समय ऐसा होता है जब आपने अपने एप्लिकेशन का अपडेट किया था। बस NTLMइस सूची में पहले से निश्चित है और आप इस समस्या को फिर कभी नहीं देखेंगे।


1
इसने मेरे लिए इसे ठीक कर दिया।
बिगवेव

9
जब तक आप अपनी सूची में पहले NTLM नहीं चाहते हैं ... इस क्रिया को करने के परिणाम होते हैं, किसी को भी इस तरह के बदलाव से NTLM और Negotiate के बीच अंतर समझना चाहिए (सबसे बुनियादी स्तर पर Negotiate पहले Kerberos प्रमाणीकरण का प्रयास करता है और गिरता है वापस NTLM के लिए अगर वह विफल रहता है)। यदि आप केर्बरोस (और कई करते हैं) चाहते हैं तो यह एक अच्छा समाधान नहीं है। यहाँ कुछ विवरण: msdn.microsoft.com/en-us/library/aa480475.aspx
TCC

8

यदि आपके URL में डोमेन नाम में डॉट्स हैं, तो IE इसका व्यवहार करेगा जैसे यह एक इंटरनेट पता है और स्थानीय नहीं है। आपके पास कम से कम दो विकल्प हैं:

  1. URL को server.domain को बदलने के लिए उपयोग करने के लिए एक उपनाम प्राप्त करें। उदाहरण के लिए, myapp।
  2. अपने कंप्यूटर पर नीचे दिए गए चरणों का पालन करें।

साइट पर जाएं और लॉगिन संवाद रद्द करें। ऐसा होने दें:

यहां छवि विवरण दर्ज करें

IE की सेटिंग्स में:

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें


1
हम विंडोज सर्वर 2012 का उपयोग कर रहे हैं और यह एकमात्र समाधान है जो हमारे लिए काम करता है। आपका बहुत बहुत धन्यवाद!
ऐशिलॉन

5

WindowsIdentity.GetCurrentसही है: आपको APPPOOL उपयोगकर्ता मिलना चाहिए। ऐसा इसलिए है क्योंकि ASP.NET प्रक्रिया, जो आपके कोड को निष्पादित कर रही है, वर्तमान पहचान है। यदि आप चाहते हैं कि यह साइट की पहचान से जुड़े उपयोगकर्ता को वापस लौटाए, तो आपको अपने web.config में निम्न पंक्ति जोड़नी होगी:

<identity impersonate="true" />

यह प्रक्रिया को पृष्ठ का अनुरोध करने वाले उपयोगकर्ता की पहचान मानने का कारण बनता है। सभी कार्य उनकी ओर से किए जाएंगे, इसलिए नेटवर्क या एक्सेस डेटाबेस संसाधनों पर फ़ोल्डर्स को पढ़ने का कोई भी प्रयास और इसका मतलब होगा कि वर्तमान उपयोगकर्ता को उन चीजों की अनुमति की आवश्यकता होगी। आप यहां प्रतिरूपण के बारे में अधिक पढ़ सकते हैं । ध्यान दें कि आपका वेब / डेटाबेस सर्वर टोपोलॉजी कैसे सेट किया गया है, इस आधार पर, आप प्रतिरूपण के साथ प्रतिनिधि मुद्दों में चल सकते हैं।

लेकिन आपका मूल मुद्दा यह है कि ऐसा प्रतीत होता है कि पहचान निर्धारित नहीं की जा सकती है और आपको एक लॉगिन पॉपअप मिल रहा है। <deny>यदि आप IIS में अनाम प्रमाणीकरण अक्षम कर चुके हैं, तो मुझे ध्यान देना चाहिए कि आपको ब्लॉक की आवश्यकता नहीं है । हम इसे कभी भी शामिल नहीं करते हैं (विशेष <location>ब्लॉकों और ऐसे को छोड़कर ) तो मैं कहूंगा कि आप इसे हटाने की कोशिश कर सकते हैं और फिर से कोशिश कर रहे हैं। बाकी सब कुछ सही लगता है, हालाँकि।

आपने निर्दिष्ट नहीं किया कि उपयोगकर्ता IIS में एप्लिकेशन पूल क्या चला रहा है। क्या यह एक कस्टम खाता है या यह डिफ़ॉल्ट है? यदि यह कस्टम है, तो क्या यह वेब सर्वर पर डोमेन खाता या स्थानीय खाता है? कस्टम खातों को कभी-कभी कुछ और चरणों की आवश्यकता हो सकती है, जैसे कि SPN का पंजीकरण। साथ ही, यह आने वाले उपयोगकर्ता के खाते को हल करने के लिए AD में अनुमति न देने वाले कस्टम खाते के साथ एक समस्या हो सकती है।

प्रतिक्रिया क्या हो रही है यह देखने के लिए आप IIS लॉग की भी जांच कर सकते हैं। यह संभवतः 401 होगा, लेकिन 401.2 या कुछ और के बाद इसका उप नंबर होना चाहिए। वह उप-संख्या कभी-कभी रूट समस्या को निर्धारित करने में मदद कर सकती है। यह KB आलेख पाँच को सूचीबद्ध करता है।


एसपीएन की आवश्यकता का उल्लेख करने के लिए +1। वास्तव में, लॉगिन पॉप-अप के साथ मुझे जिन समस्याओं का सामना करना पड़ा, उनमें से अधिकांश केर्बेरस वातावरण में एक लापता एसपीएन के कारण थीं।
एसबीएस

5

इसने मेरे लिए इसे ठीक कर दिया।

मेरा सर्वर और क्लाइंट पीसी विंडोज 7 है और एक ही डोमेन में हैं

  1. iis7.5 में अपने इंट्रानेट के लिए विंडोज़ ऑथेंटिकेशन को सक्षम करें (अन्य सभी ऑथेंटिकेशन को डिसेबल करें।) web.config फ़ाइल में विंडोज़ ऑथेंटिकेशन का भी उल्लेख नहीं करना चाहिए।

  2. फिर क्लाइंट पीसी पर जाएं .. IE8 या 9- टूल-इंटरनेट विकल्प-सुरक्षा-स्थानीय इंट्रानेट-साइट-एडवांस्ड-अपनी साइट जोड़ें ("सर्वर वर्फी की आवश्यकता है ..." टिकटमार्क करें)

  3. IE8 या 9- उपकरण-इंटरनेट विकल्प-सुरक्षा-स्थानीय इंट्रानेट-कस्टम स्तर-उपयोगकर्ता-लॉगऑन-चुनिंदा स्वचालित लॉगऑन वर्तमान उपयोगकर्ता नाम और पासवर्ड के साथ

  4. इस सेटिंग को सहेजें..आप काम कर रहे हैं .. उपयोगकर्ता नाम और पासवर्ड के लिए और कोई संकेत नहीं।

  5. सुनिश्चित करें, चूँकि आपका क्लाइंट पीसी डोमेन का हिस्सा है, इसलिए आपको इस सेटिंग के लिए एक GPO रखना होगा, .. जब उपयोगकर्ता अगली बार विंडोज़ में लॉगिन करेगा तो यह सेटिंग वापस आ जाएगी।


2
1) मैंने वास्तव में प्रतिरूपण और विंडोज प्रमाणीकरण को सक्षम किया और सब कुछ ठीक था। मेरे लिए कुंजी 2 थी) जहां आप स्थानीय इंट्रानेट ज़ोन में दूरस्थ साइट का पता जोड़ते हैं।
साइड एफएक्स

4

ब्राउज़र से संबंधित हो सकता है। यदि आप IE का उपयोग कर रहे हैं, तो आप एडवांस्ड सेटिंग्स में जा सकते हैं और आपको "विंडोज इंटीग्रेटेड ऑथेंटिकेशन ऑथेंटिकेशन इनेबल करें" चेकबॉक्स चेक करना है।


4

मेरे मामले में प्राधिकरण सेटिंग ठीक से सेट नहीं की गई थीं।

मुझे करना पड़ा

  1. IIS प्रबंधक में .NET प्राधिकरण नियम खोलें

    IIS प्रबंधक में .NET प्राधिकरण नियम खोलें
  2. और हटाने से इनकार नियम

    इनकार नियम को हटा दें

3

हमारे इंट्रानेट में समस्या को ग्राहक की ओर से हल किया गया था, जैसा कि यहां दिखाया गया है। दाईं ओर के किसी भी चेक बॉक्स ने हमारे लिए काम किया।

IE इंटरनेट विकल्प


2

मैंने अभी एक ASP.Net एप्लिकेशन के साथ इसी तरह की समस्या को हल किया है।

लक्षण: मैं स्थानीय उपयोगकर्ता का उपयोग करके अपने ऐप में लॉग इन कर सकता हूं, लेकिन डोमेन उपयोगकर्ता नहीं, भले ही मशीन सही तरीके से डोमेन में शामिल हो गई हो (जैसा कि आप अपने अतिरिक्त नोट में कहते हैं)। सुरक्षा ईवेंट व्यूअर में, ID = 4625 "डोमेन साइड असंगत" के साथ कोई ईवेंट था।

समाधान: मुझे यहाँ समाधान मिला । समस्या यह थी कि मेरी परीक्षण मशीनें जहां आभासी मशीनों (विंडोज सर्वर 2008 आर 2; एक डोमेन नियंत्रक और एक वेब सर्वर) पर क्लोन करती थीं। दोनों में एक ही मशीन SID थी, जो स्पष्ट रूप से समस्याओं का कारण थी। मैंने जो किया था यह रहा:

  1. वेब सर्वर को डोमेन से निकालें।
  2. VM में c: \ Windows \ System32 \ Sysprep \ Sysprep.exe चलाएँ।
  3. VM को रिबूट करें।
  4. डोमेन में वेब सर्वर से जुड़ें।

आप प्रक्रिया में कुछ सेटिंग्स को ढीला कर देते हैं (उपयोगकर्ता प्राथमिकताएं, स्थिर आईपी, स्व-हस्ताक्षरित प्रमाण पत्र को फिर से बनाना), लेकिन अब जब मैंने उन्हें फिर से बनाया है, तो सब कुछ सही ढंग से काम कर रहा है।


क्लोनिंग बेकार है जब आप विवश प्रतिनिधिमंडल स्थापित करने की कोशिश कर रहे हैं।
साइड एफएक्स

2

मेरा भी यही मुद्दा था। इस और अन्य मंचों पर मिली अधिकांश चीजों की कोशिश की।

अंत में थोड़ा खुद RDD करने के बाद सफल रहा।

मैं IIS सेटिंग्स में गया और फिर अपनी वेबसाइट की अनुमति में विकल्पों में मेरे संगठन डोमेन उपयोगकर्ता समूह को जोड़ा।

अब चूंकि मेरे सभी डोमेन उपयोगकर्ता को उस वेबसाइट तक पहुंच प्रदान कर दी गई है, इसलिए मैंने उस मुद्दे का सामना नहीं किया।

उम्मीद है की यह मदद करेगा


4
आप किस अनुमति के विकल्प के बारे में बात कर रहे हैं? क्या आपने जो किया उस पर और अधिक विस्तृत कदम प्रदान कर सकते हैं?
चपिन

1

क्या आपने अपने डोमेन उपसर्ग के साथ लॉगिन करने की कोशिश की है, जैसे DOMAIN \ उपयोगकर्ता नाम? IIS 6 होस्ट कंप्यूटर का उपयोग करने के लिए डिफ़ॉल्ट डोमेन के रूप में चूक करता है इसलिए लॉगऑन पर डोमेन को निर्दिष्ट करने से समस्या हल हो सकती है।


1

मैंने ऊपर IIS कॉन्फ़िगरेशन ट्रिक्स और लूपबैक रजिस्ट्री हैक की कोशिश की, और मैंने ऐप पूल अनुमतियों और एक दर्जन अन्य चीजों की समीक्षा की और फिर से बनाया और अभी भी IIS एक्सप्रेस या IIS 7.5 के साथ अपने विकास कार्य केंद्र पर चल रहे प्रमाणीकरण पाश से छुटकारा पाने में सक्षम नहीं था, स्थानीय या दूरस्थ ब्राउज़िंग सत्र से। मुझे चार 401.2 स्थिति प्रतिक्रियाएँ और एक रिक्त पृष्ठ मिला। मेरे IIS 8.5 स्टेजिंग सर्वर पर तैनात एक ही साइट त्रुटिपूर्ण रूप से काम करती है।

अंत में मैंने रिस्पांस बॉडी में मार्कअप देखा जो कि ब्राउज़र द्वारा खाली रेंडर किया गया था, जिसमें एक सफल लॉग इन के लिए डिफ़ॉल्ट पृष्ठ था। मैंने निर्धारित किया कि 401 त्रुटि के लिए ASP.NET और HTTP के लिए कस्टम त्रुटि हैंडलिंग विंडोज वर्क ऑथेंटिकेशन के साथ मेरे कार्य केंद्र को रोक / रोक रहा था। लेकिन स्टेजिंग सर्वर नहीं। मैंने इसके साथ कई घंटे बिताए, लेकिन जैसे ही मैंने सिर्फ 401 त्रुटि के लिए कस्टम हैंडलिंग को हटा दिया, वर्कस्टेशन वापस सामान्य हो गया। मैं इसे अपने खुद के पैर को शूट करने का एक और तरीका बताता हूं।


0

IIS7.0 या IIS7.5 में Windows प्रमाणीकरण kerberos (प्रदाता = Negotiate) के साथ काम नहीं करता है, जब अनुप्रयोग पूल की पहचान ApplicationPoolIdentity एक को नेटवर्क सेवा या किसी अन्य बिल्ड-इन खाते का उपयोग करना होता है। एक और संभावना NTLM का उपयोग करके Windows प्रामाणिकता प्राप्त करने के लिए काम करने के लिए है (Windows प्रमाणीकरण, प्रदाता, NTLM को शीर्ष पर रखने या बातचीत को निकालने के लिए)

क्रिस वैन डे विज्वर


3
गलत। अपने सर्वर को रिबूट करें। ध्यान दें कि यह अब काम करता है। हॉटफ़िक्स KB2545850 लागू करें।
अमित नायडू

वाह। रिबूट ने इसे मेरे लिए ठीक कर दिया। कितनी देर तक जांच करने की जरूरत है। कोई विचार? अभी तक हॉटफ़िक्स की जांच नहीं की गई थी।
mplwork

हमारे पास बिल्कुल वैसा ही मामला था - रिबूट तक ApplicationPoolIdentity के साथ काम नहीं किया।
सर्गेईटी

0

मेरे पास उपयोगकर्ता (पहचान) के कारण समान समस्या थी, जिसका उपयोग मैंने एप्लिकेशन पूल में किया था, IIS_IUSRS समूह से नीचे नहीं था। उपयोगकर्ता को समूह में जोड़ा गया और सब कुछ काम किया


0

मेरे मामले में समाधान मेरे / उपयोगकर्ताओं के स्थानीय विकास कंप्यूटर / IIS (होस्टिंग सर्वर) को पुनरारंभ करने के लिए (ऊपर सुझाए गए समायोजन के ऊपर) था । मेरा उपयोगकर्ता अभी हाल ही में बनाए गए AD सुरक्षा समूह में जोड़ा गया है - और जब तक मैं अपना कंप्यूटर लॉग इन / पुनरारंभ नहीं करता हूं, तब तक पॉलिसी उपयोगकर्ता AD खाते पर लागू नहीं होती।

आशा है कि यह किसी की मदद करेगा।


0

मुझे उसी क्रेडेंशियल प्रॉम्प्टिंग समस्या का सामना करना पड़ा, और उसने त्वरित खोज की और इंटरनेट पर कुछ भी इसे ठीक नहीं करेगा। एक मूर्खतापूर्ण समस्या को खोजने में कुछ समय लगा।

IIS में -> अग्रिम सेटिंग -> भौतिक पथ क्रेडेंशियल (खाली है)

जैसे ही मैंने एक मशीन आईडी (डोमेन / उपयोगकर्ता) जोड़ा जिसमें वीएम / सर्वर तक पहुंच है, पासवर्ड प्रॉम्प्टिंग बंद हो जाएगी।

उम्मीद है की यह मदद करेगा


0

मैं इस मुद्दे पर .net कोर 2 पर चल रहा था और यहाँ से अधिकांश सुझावों के माध्यम से जाने के बाद ऐसा लगता है कि हम web.config पर एक सेटिंग चूक गए

<aspNetCore processPath="dotnet" arguments=".\app.dll" forwardWindowsAuthToken="false" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />

सही सेटिंग अग्रेषित की गई थी WindowsAuthToken = "सत्य" जो अब स्पष्ट प्रतीत होता है, लेकिन जब एक ही समस्या के लिए बहुत सारी परिस्थितियां हैं तो यह इंगित करना कठिन है

संपादित करें: मैंने निम्नलिखित Msdn लेख को भी उपयोगी पाया जो समस्या का निवारण करता है।


-1

मुझे एक ही मुद्दा मिला और यह एप्लीकेशन पूल की एप्लिकेशन पूल पहचान को बदलकर हल किया गया, जिसके तहत वेब एप्लिकेशन नेटवर्क सेवा पर चल रहा है यहां छवि विवरण दर्ज करें

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