401 - अनधिकृत सर्वर 2008 R2 आईआईएस 7.5 पर


20

मेरे पास सर्वर 2008 IIS 7.5 बॉक्स में एक वेब एप्लिकेशन है।

रिमोट से यह त्रुटि देता है 401 - Unauthorized: Access is denied due to invalid credentials:। (रिमोट = एक ही लैन पर डेस्कटॉप)

विभिन्न ब्राउज़रों का उपयोग करके कई दूरस्थ क्लाइंट की कोशिश की है, सभी समान परिणाम। (आईई, एफएफ और क्रोम)

सर्वर के डेस्कटॉप से एप्लिकेशन को हिट करना त्रुटिपूर्ण रूप से काम करता है । हालाँकि मैंने सर्वर डेस्कटॉप पर फायरबग की कोशिश नहीं की है। मुझे लगता है कि यह अभी भी एक 401 स्थिति कोड जारी कर रहा है फिर भी सामग्री को वापस कर देगा। देखें अपडेट # 2

एप्लिकेशन बेनामी प्रमाणीकरण का उपयोग कर रहा है।

MVC फ्रेमवर्क का उपयोग करते हुए आवेदन .NET 4.0 Asp.Net में लिखा गया है।

स्थिर सामग्री ठीक काम करती है, उदाहरण: http://server.com/content/image.jpg

Sysinternals procmonप्रत्येक अनुरोध के लिए ये 2 परिणाम लौटाता है: FAST IO DISALLOWED और PATH NOT FOUND।

मेरे पास 2 अन्य MVC ऐप हैं जो एक ही सर्वर पर ठीक चल रहे हैं। मैंने फ़ोल्डर्स पर सुरक्षा की जांच की है और वे सभी मेल खाते हैं।

ऐप सर्वर 2008 IIS 7.0 बॉक्स पर ठीक चलता है।

इससे संबंधित सर्वर पर ईवेंट लॉग में कुछ भी नहीं दिखता है।

मेरे बालों को बाहर खींचकर, कोई समस्या निवारण युक्तियाँ?

अद्यतन # 1 : यह बस के रूप में मैं खोदो अधिक डब्ल्यूटीएफ मिलता है।

अगर मैं IIS प्रबंधक में एप्लिकेशन पर क्लिक करता हूं -> त्रुटि पृष्ठ -> फीचर सेटिंग संपादित करें Detailed Errors, एप्लिकेशन दूरस्थ रूप से काम करता है। इस पर नहीं छोड़ा जा रहा है, इसलिए समस्या अभी तक हल नहीं हुई है, यह सिर्फ और अधिक भ्रमित है।

अद्यतन # 2 : फायरबग का उपयोग करते हुए, मैं देखता हूं कि स्थिति अभी भी है 401 Unauthorized, लेकिन प्रतिक्रिया एप्लिकेशन के सही HTML को वापस कर रही है।

अद्यतन # 3 विफल अनुरोध अनुरेखण के साथ चारों ओर खेल रहा है, यहाँ चेतावनी अनुरोध ट्रेस है जो 401 पैदा कर रहा है:

ModuleName ManagedPipelineHandler
Notification 128
HttpStatus 401 
HttpReason Unauthorized 
HttpSubStatus 0 
ErrorCode 0 
ConfigExceptionInfo  
Notification EXECUTE_REQUEST_HANDLER 
ErrorCode The operation completed successfully. (0x0)

अद्यतन # 4 नियमित IIS लॉग यह दिखा रहा है:

#Software: Microsoft Internet Information Services 7.5
#Version: 1.0
#Date: 2010-07-20 19:17:22
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2010-07-20 19:17:22 10.10.1.10 GET /Purchasing/Home - 80 - 10.10.1.12 Mozilla/5.0+(Windows;+U;+Windows+NT+6.1;+en-US;+rv:1.9.2.6)+Gecko/20100625+Firefox/3.6.6 401 0 0 4414

क्या आपने सर्वर पर असफल अनुरोध अनुरेखण चलाने की कोशिश की और रिमोट मशीन से एप्लिकेशन का उपयोग किया। यदि कोई विफलता है, तो आपको इसका कारण देखना चाहिए।
विवेक कुंभार

@vivek
mxmissile

ARRG !!! मिल गया लेकिन इसके द्वारा फिर से! 2 घंटे बर्बाद खोज रहे हैं Html.RenderAction, तो एहसास हुआ रेजर का उपयोग करता है Html.Actionइसलिए मेरी शुरुआती खोजें खाली हो गईं।
mxmissile

ओह इसके दो साल हो गए हैं, क्या लगता है? आज सुबह सिर्फ 3 घंटे बर्बाद हुए इस AGAIN पर! मैं कब सीखूँगा?!?!?!
mxmissile

जवाबों:


19

कभी-कभी आपको एक कदम वापस लेना पड़ता है ... इसका कारण यह था Html.RenderAction()कि मेरे विचार में एक एक्शन विधि थी जिसे [Authorize]विशेषता के साथ चिह्नित किया गया था ।


1
यह मेरी समस्या थी, यह एक पांडा को पंच करने के लिए पर्याप्त निराशा थी (यह नहीं कि मैं करूंगा)। धन्यवाद mxmissile।
खालिद अबूखमेह

4

चूंकि यह स्थानीय रूप से काम करता है, लेकिन दूरस्थ रूप से नहीं, इसलिए यह मुझे लगता है जैसे अनाम उपयोगकर्ता खाते में किसी चीज़ तक पहुंच नहीं है, लेकिन आपका विंडोज़ उपयोगकर्ता करता है। यह साबित करने के लिए, वेबसाइट के लिए विंडोज प्रमाणीकरण बंद करें और देखें कि क्या यह स्थानीय रूप से टूटता है।

जो कुछ भी टूट रहा है वह संभवतः आपके ऐप पूल पहचान के बजाय आपकी वेबसाइट की पहचान के रूप में चल रहा है, अन्यथा यह स्थानीय और दूरस्थ रूप से टूट जाएगा। मेरी सलाह है कि यदि आपके पास एप्लिकेशन पूल करने के लिए साइटों की 1 से 1 मैपिंग है, या आपके पास अत्यधिक विश्वसनीय वातावरण है, तो ऐप पूल पहचान का उपयोग करने के लिए अनाम उपयोगकर्ता खाता सेट करना है। फिर आपको बनाए रखने के लिए 2 के उपयोगकर्ता के बारे में चिंता करने की आवश्यकता नहीं है।

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


4

आपके पास यह वही व्यवहार होगा जब आपके पास कस्टम प्राधिकरण के लिए एक फ़िल्टर होगा जो विधि से AuthorizeAttributeऔर एक या एक से अधिक कॉल विरासत में मिलता है OnAuthorization, उनमें से एक के साथ AuthorizationContext.Result`HttpUnauthorizedResult 'पर सेट होता है


4

किसी कारण से इसने मेरा मुद्दा तय किया।

  1. IIS में साइट पर क्लिक करें।
  2. डबल क्लिक प्रमाणीकरण
  3. राइट क्लिक करें और उन्नत सेटिंग्स चुनें
  4. डी-सेलेक्ट करें "कर्नेल-मोड प्रमाणीकरण सक्षम करें"

2

क्या आपने प्राधिकरण नियमों के तहत सेटिंग्स की जांच की? यदि कोई भी इस पृष्ठ तक पहुँच सकता है (जो कि आपका लक्ष्य प्रतीत होता है) सुनिश्चित करें कि आपके पास "अनुमति दें" नियम है जिसमें उपयोगकर्ताओं के कॉलम के तहत "सभी उपयोगकर्ता" हैं।

फिर "प्रमाणीकरण" में सुनिश्चित करें कि कोई संघर्ष नहीं है और केवल बेनामी प्रमाणीकरण सक्षम है।

उम्मीद है की वो मदद करदे।


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