9

में लॉग इन करने की कोशिश कर रहा बना दिया है एक ASP.NET MVC विंडोज प्रमाणीकरण के साथ 3 इंट्रानेट साइट सक्षम अनुरोध विफल रही:ASP.NET MVC IIS7.5 डब्ल्यू विंडोज प्रमाणीकरण पर 3 इंट्रानेट साइट 401.3 देता है और फ़ाइल प्राधिकरण जब

    दृश्य स्टूडियो प्रोजेक्ट फ़ाइल गुण में
  1. web.config में
  2. , यानी <authentication mode="Windows"/>
  3. आईआईएस 7.5 में साइट संपत्तियों पर
  4. । सर्वर

उपरोक्त इन सभी तीनों के लिए अनाम पहुंच अक्षम है, web.config <deny users="?"/> कहता है। पहचान <impersonate="false"/> और आईआईएस 7.5 सर्वर में साइट गुणों पर web.config में प्रतिरूपण अक्षम है। और अंत में, नेटवर्क सेवा ऐप पूल चलाने के लिए सेट है और साइट फ़ोल्डर पर भी पढ़ा गया है (सुनिश्चित नहीं है कि इसकी आवश्यकता है, हालांकि, मुझे बताएं, लेकिन यह निश्चित रूप से नीचे मेरी समस्या को हल करने के लिए पर्याप्त नहीं है)।

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

Event code: 4008 
Event message: File authorization failed for the request. 
Event time: 2012-02-20 18:45:41 
Event time (UTC): 2012-02-20 17:45:41 
Event ID: 6dd3b4bf99784ba1a0fe06694dd89691 
Event sequence: 3 
Event occurrence: 1 
Event detail code: 0 
Application information: 
Application domain: /LM/W3SVC/2/ROOT-1-129742335229554599 
Trust level: Full 
Application Virtual Path:/
Application Path: D:\Public\BlahblahManager\ 
Machine name: HUB01-XYZ123 
Process information: 
Process ID: 2920 
Process name: w3wp.exe 
Account name: NT AUTHORITY\NETWORK SERVICE 
Request information: 
Request URL: http://blahblahmanager.user.ad.blah.com/ 
Request path:/
User host address: 134.XXX.XXX.XXX 
User: USER-AD\teh-user 
Is authenticated: True 
Authentication Type: Negotiate 
Thread account name: NT AUTHORITY\NETWORK SERVICE 
Custom event details: 

: ईवेंट लॉग (यह एक सूचना प्रविष्टि, न कि कोई त्रुटि है, और मैं इसे थोड़ा समझ से परे कर दिया है मेरे मुवक्किल को बचाने के लिए) सभी उपयोगकर्ताओं में लॉग इन करने की कोशिश की है के लिए प्रवेश की निम्न प्रकार देता है यह केवल तभी होता है जब मैं विशेष रूप से USER-AD\teh-user या USER-AD\Domain उपयोगकर्ताओं को Read साइट के रूट फ़ोल्डर (डी: \ पब्लिक \ BlahblahManager) पर अनुमति देता है जो उपयोगकर्ता लॉग इन कर सकता है और वास्तव में साइट देख सकता है।

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

कोई सुझाव? काम करने के लिए आमतौर पर न्यूनतम मात्रा में कॉन्फ़िगरेशन की आवश्यकता होती है? इस तरह की समस्या का निवारण कैसे करें और मूल कारणों पर कैसे पहुंचे इस पर कोई सुझाव?

+0

क्या आपने कभी इस समस्या को हल किया है? – DaveHogan

+0

मैंने इसे एक कार्य-आसपास हल किया जो सामान्य मामले (बहुत ग्राहक-विशिष्ट) में मदद नहीं करेगा। सुझाए गए उत्तरों ने दुर्भाग्य से मदद नहीं की :( –

+0

मुझे एक ही समस्या है ('प्रमाणीकृत उपयोगकर्ता सूचीबद्ध के साथ अनुरोध प्राधिकरण में त्रुटि प्राधिकरण और नेटवर्क सेवा थ्रेड पहचान के रूप में, नेटवर्क सेवा के रूप में ऐप पूल चला रहा है, आईआईएस 7.5, 401 त्रुटि के बाद क्रेडेंशियल्स में प्रवेश करना)। वर्तमान में इसके आसपास जाने का मेरा एकमात्र तरीका फाइलों तक पहुंचने वाले सभी (या उपयोगकर्ताओं का एक विशिष्ट समूह) प्रदान करना है, जो एक भयानक समाधान लगता है। मैंने एक ही ऐप को दर्जनों ग्राहक सर्वर पर स्थापित किया है और इसकी आवश्यकता नहीं है ऐसा करें। शायद आईआईएस 7.5 के लिए कुछ अनोखा है हालांकि मैंने पहले वहां स्थापित किया है और इस समस्या को याद नहीं किया है। – Rory

उत्तर

1

डबल चेक आईआईएस पर अनाम प्रमाणीकरण सक्षम है। Also, have a look at this post.

+1

अज्ञात को सक्षम करने की आवश्यकता क्यों होगी? ओपी ने विशेष रूप से कहा है कि यह अक्षम है, क्योंकि विंडोज प्रमाणीकरण की आवश्यकता है। – Rory

2

मैं आपको यह post देखने के लिए संदर्भित करता हूं जो सभी एमवीसी प्रमाणीकरण विधियों की घोषणा करता है। लेकिन सुनिश्चित करें कि आपने अपने एमवीसी एप्लिकेशन पर न्यूनतम आवश्यक प्रमाणीकरण सक्षम किया है। ध्यान दें कि बेनामी प्रमाणीकरण आपकी समूह नीतियों के साथ काम करता है। आप निम्न द्वारा कॉन्फ़िगर कर सकते हैं: इंटरनेट विकल्प -> सुरक्षा टैब -> स्थानीय इंट्रानेट -> कस्टम स्तर, अपने ब्राउज़र पर।

1- समस्या का कारण बनने वाली एक और चीज आईआईएस अधिकृत उपयोगकर्ताओं से कॉन्फ़िगर नहीं की जा सकती है।उनमें से कुछ हैं:

  • iisservice
  • IUSR
  • IIS_IUSRS IIS में
  • नेटवर्क सेवा

2- इसके अलावा अनुमति की जांच क्रियाओं।

3- अपने आवेदन के मूल फ़ोल्डर पर IIS AppPool \ YourAppPool तक पहुंच पढ़ने दें।

4- एक अन्य कारण आपके आवेदन में पदानुक्रमिक पहुंच नियम हो सकता है, इस पर निर्भर करता है कि आप किस साइट सेवाओं का उपयोग कर रहे हैं, जैसे वेब साइट पैनल एक्सेस नियम।

5- Setting the clientaccesspolicy.xml file.

6- चेक InitializeService() विधि, आप इकाई पहुँच नियम ठीक से सेट करते हैं? उदाहरण के लिए:

config.SetEntitySetAccessRule("*", EntitySetRights.All); 

7- वेब साइट स्तर पर फ़ाइल प्रमाणीकरण मॉड्यूल की जांच करें।

0

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

शारीरिक पथ साख शारीरिक पथ साख लॉग ऑन प्रकार

डिफ़ॉल्ट रूप से: यहाँ क्या वह साथ ... आया

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

इसे सेट करने के मैं निम्नलिखित किया:

  1. एक स्थानीय खाता (आईआईएस-AccessUser)
  2. दी साइट की/होम निर्देशिका के लिए आईआईएस-AccessUser पढ़ सकते हैं और निष्पादित पहुँच बनाया गया।
  3. IIS_IUSRS समूह में IIS-AccessUser जोड़ा गया (एक्सेस करने के लिए आवश्यक।नेट अस्थायी फ़ाइलें)
  4. सेट शारीरिक पथ साख
  5. सेट शारीरिक पथ साख लॉग ऑन प्रकार इंटरएक्टिव

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

0

मुझे विंडोज प्रमाणीकरण के साथ आईआईएस 7 पर भी इसी मुद्दे का सामना करना पड़ा, लेकिन एमवीसी 4 के साथ। अंत में यह post मिला। उम्मीद है कि यह भविष्य में किसी की मदद कर सकता है।

0

आईआईएस 7.0 और आईआईएस 7.5 में विंडोज प्रमाणीकरण का उपयोग करते समय आपको फ़ाइल एक्सेस अनुमतियां प्रदान करने की आवश्यकता नहीं है।

एक बेहतर तरीका है कि हम केवल यह खोज पाएंगे क्योंकि हमारे सर्वर व्यवस्थापक ने उपयोगकर्ताओं और समूहों को फ़ाइल स्तर तक पहुंच प्रदान करने के मार्ग से सुरक्षा और प्रबंधन के मुद्दों को गंध महसूस किया है।

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

कृपया इस आलेख में उपयोग की जाने वाली विधियों की कुछ मान्य आलोचकों के लिए POST के अंत में दो टिप्पणियां पढ़ें।

http://weblogs.asp.net/owscott/iis-using-windows-authentication-with-minimal-permissions-granted-to-disk

लेख में जानकारी के अलावा, कृपया कि आईआईएस 7.5 (कम से कम नहीं मेरी MVC 4 आवेदन में) system.web के लिए वेब विन्यास टैग का उपयोग नहीं कर रहा है बारे में पता होना।

यह प्रमाणीकरण कॉन्फ़िगरेशन के लिए system.webserver टैग में देख रहा है (जहां आपको उन विंडो डोमेन \ समूहों को सूचीबद्ध करने की आवश्यकता होगी जिन्हें उपयोगकर्ता को आपके एप्लिकेशन तक पहुंचने की आवश्यकता है)।

- डीएसबी