visual studio HttpContext.Current.User.Identity.Name खाली है




visual-studio iis (7)

मेरे पास सिल्वरलाइट एप्लिकेशन (एमवीसी का उपयोग करके) है और जब मैं विजुअल स्टूडियो डेवलपमेंट सेंटर का उपयोग कर विजुअल स्टूडियो में निर्माण कर रहा हूं, तो कोई समस्या नहीं है, HttpContext.Current.User.Identity.Name का मूल्य है

लेकिन जब मैं आईआईएस 7.5 के साथ एक ही प्रोजेक्ट का उपयोग कर रहा हूं (मैं विंडोज 7 का उपयोग कर रहा हूं), HttpContext.Current.User.Identity.Name खाली रहता है

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


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

अन्यथा आपको इसे प्रमाण-पत्र प्रदान करना होगा, लेकिन यदि यह एक ही डोमेन पर नहीं है, तो यह आपको प्रमाणित करने में सक्षम नहीं होगा।


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

यहां तक ​​कि यदि आपने आईआईएस पर विंडोज प्रमाणीकरण और अक्षम अनाम प्रमाणीकरण सक्षम किया है, तो इससे आपके विजुअल स्टूडियो सिमुलेशन में कोई फर्क नहीं पड़ता है।


"28 मार्च को उत्तर दिया गया" 11 के अलावा 12: 27 ब्रायन बेडर्ड "

यदि समाधान काम नहीं करता है, तो आपको जारी प्रबंधक में विंडोज प्रमाणीकरण सक्षम करना होगा। उसको कैसे करे:

1. रन से आईआईएस प्रबंधक शुरू करने के लिए संवाद बॉक्स: स्टार्ट मेनू पर, सभी प्रोग्राम्स पर क्लिक करें, सहायक उपकरणक्लिक करें, और उसके बाद चलाएँक्लिक करें। ओपन बॉक्स में, inetmgr टाइप करें और फिर ठीक क्लिक करें।

2. कनेक्शन फलक में, सर्वर का नाम विस्तृत करें, साइट्स का विस्तार करें, और पदानुक्रम फलक में उस स्तर पर जाएं जिसे आप कॉन्फ़िगर करना चाहते हैं, और फिर वेबसाइट या वेब एप्लिकेशन पर क्लिक करें। 3. होम फलक में आईआईएस अनुभाग तक स्क्रॉल करें, और फिर प्रमाणीकरण पर डबल-क्लिक करें।

4. प्रमाणीकरण फलक में, अनाम प्रमाणीकरण का चयन करें, और फिर अक्षम करें क्लिक करें।

  1. प्रमाणीकरण फलक में, Windows प्रमाणीकरण का चयन करें, और उसके बाद सक्षम करेंक्लिक करें।

Reference


ये इस मुद्दे को हल कर सकते हैं (यह मेरे लिए किया गया था)। आईआईएस एक्सप्रेस में प्रोजेक्ट प्रॉपर्टी वैल्यू, "बेनामी प्रमाणीकरण" और "विंडोज प्रमाणीकरण" बदलते हैं। ऐसा करने के लिए, जब प्रोजेक्ट चुना जाता है, तो F4 दबाएं और फिर इन गुणों को बदलें।

यदि आप स्थानीय स्तर पर आईआईएस पर इसे तैनात कर रहे हैं, तो सुनिश्चित करें कि स्थानीय मशीनें "विंडोज प्रमाणीकरण" सुविधा सक्षम है और "अनाम प्रमाणीकरण" अक्षम है।

को देखें

https://grekai.wordpress.com/2011/03/31/httpcontext-current-user-identity-name-is-empty/


विंडोज प्रमाणीकरण को छोड़कर आईआईएस के प्रमाणीकरण टैब में अन्य सभी विकल्पों को अक्षम करना मेरी समस्या का समाधान करता है। कृपया जांचें..

कदम:

  1. अपनी मशीन में ओपन आईआईएस
  2. एप्लिकेशन पूल से अपना आवेदन चुनें
  3. प्रमाणीकरण विकल्प पर क्लिक करें
  4. विंडोज प्रमाणीकरण को छोड़कर अन्य सभी विकल्प अक्षम करें (सर्वसम्मति प्रमाणीकरण अक्षम होना चाहिए)

कृपया इसे जांचें और मुझे प्रतिक्रिया दें। यह मेरे लिए काम किया। उम्मीद है कि यह आपके लिए भी काम करेगा ..


मुझे हाल ही में यह समस्या भी थी। विंडोज प्रमाणीकरण का उपयोग करते हुए IISExpress के साथ, विजुअल स्टूडियो से चल रहे पुराने वेब फॉर्म ऐप को प्राप्त करने का प्रयास कर रहे नए क्लाइंट के साथ काम करना। मेरे लिए, web.config सही ढंग से कॉन्फ़िगर किया गया था

हालांकि, IISExpress.config सेटिंग्स फ़ाइल में था:

<windowsAuthentication enabled="false">

डेवलपर लॉग इन किया गया उपयोगकर्ता खाता बहुत नया था, इसलिए अनलिली इसे संपादित किया गया था। सरल फिक्स यह निकला, इसे सक्षम = सही में बदलें और यह सब तब चल रहा था जब इसे करना चाहिए।


@PaulTheCyclist के रूप में, यदि IISExpress अज्ञात प्रमाणीकरण का उपयोग डिफ़ॉल्ट रूप से सक्षम है, तो विंडोज प्रमाणीकरण अक्षम है।

इसे जिसे मैं निश्चित रूप से प्रॉपर्टीपेज (राइट-क्लिक -> गुण नहीं) कहलाता हूं, में बदला जा सकता है। वेब प्रोजेक्ट का चयन करें





httpcontext