2009-03-16 13 views
10

के लिए विंडोज प्रमाणीकरण मैं अपनी कंपनी के लिए एक एएसपीनेट वेब एप्लिकेशन विकसित कर रहा हूं। कुछ उपयोगकर्ता इस साइट का उपयोग आंतरिक नेटवर्क (इंट्रानेट) में करते हैं और कुछ इंटरनेट साइट का उपयोग करते हैं। मैं विंडोज प्रमाणीकरण मोड का उपयोग कर रहा हूँ।इंट्रानेट/इंटरनेट

मैं के लिए एक रास्ता एक इंट्रानेट उपयोगकर्ता के लिए Windows प्रमाणीकरण मोड और एक इंटरनेट उपयोगकर्ता के लिए शीघ्र विंडोज प्रमाणीकरण मोड संकेत नहीं खोजने की जरूरत है।

मैं यह कैसे कर सकता हूं?

उत्तर

0

जहां तक ​​मुझे पता है कि विंडोज प्रमाणीकरण केवल इंट्रानेट के लिए उपयोग किया जा सकता है लेकिन आप इंटरनेट उपयोगकर्ताओं को प्रमाणीकृत करने के लिए फॉर्म प्रमाणीकरण भी शामिल कर सकते हैं। This page में कुछ जानकारी और ट्यूटोरियल के लिए एक लिंक है कि यह कैसे करें।

0

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

हालांकि, आप इस MSDN लेख पढ़ने के लिए चाहते हो सकता है कि आप इस के लिए एक एकल सर्वर का उपयोग करना चाहते हैं: Mixing Forms and Windows Security in ASP.NET

18

अपने क्या वर्णन कर रहे हैं के आधार पर, आईआईएस में Windows प्रमाणीकरण चाल करेंगे।

पहले कुछ लिंक्स: Windows Authentication in IIS here

  • MSDN बारे में एक लेख के रूप में

    हालांकि निम्नलिखित पर ध्यान दें:

    एकल साइन-ऑन (एसएसओ) (यानी उपयोगकर्ता नाम और पासवर्ड प्रदान किए बिना एप्लिकेशन तक पहुंच) यदि निम्नलिखित सभी सत्य हैं:

    • क्लाइंट कंप्यूटर और सर्वर एक ही सक्रिय निर्देशिका डोमेन का हिस्सा हैं।
    • क्लाइंट कंप्यूटर पर उपयोगकर्ता सत्र AD डोमेन से उपयोगकर्ता है।
    • क्लाइंट कंप्यूटर के पास डोमेन सर्वर तक पहुंच है (यानी उपयोगकर्ता लॉगिन के लिए जिम्मेदार सर्वर)
    • ब्राउज़र इंटरनेट एक्सप्लोरर है।
    • यूआरएल सर्वर FQDN (यानी अनुप्रयोग निर्देशिका से http://SERVERNAME.DOMAIN.NAME/ सिर्फ http://SERVERNAME/
    • अधिकृत उपयोगकर्ताओं को पढ़ लिया है चाहिए नहीं पहुँच यदि आप उपयोग कर रहे हैं का रूप धारण। आवेदन उनके क्रेडेंशियल मूल रूप से साथ चल रहे हो जाएगा करने के लिए अंक का इस्तेमाल किया। (MSDN article में अधिक जानकारी के)

    सक्रिय निर्देशिका डोमेन के भीतर एक खाते के लिए किसी भी अन्य परिस्थितियों उपयोगकर्ता क्रेडेंशियल के लिए प्रेरित किया जाएगा (उपयोगकर्ता नाम और पासवर्ड) के तहत। तो उपयोगकर्ता इंटरनेट से अपने वेब सर्वर तक पहुँचने पूछ एक पॉपअप मिलेगा उन्हें उपयोगकर्ता नाम और पासवर्ड प्रदान करने के लिए।

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

  • +1

    निम्न लिंक कहता है कि विंडो एकीकृत प्रमाणीकरण आईई के साथ बेसिक का उपयोग नहीं करेगा, बल्कि यह एनटीएलएम पर वापस आ जाएगा। http://www.aniltj.com/blog/CommentView ,guid,d6bb26b9-8371-40f1- a3 57-ab9023df86ad.aspx क्या एनटीएलएम HTTP में सुरक्षित है? क्या यह गैर-आईई ब्राउज़र के लिए भी सच है? – Spongeboy

    +1

    एनटीएलएम सभी प्रमुख ब्राउज़रों द्वारा समर्थित है। मैं सुझाव दूंगा कि आप किसी भी प्रमाणीकृत सामग्री के लिए HTTPS को बल दें, भले ही NTLM का उपयोग करें। – bkr

    2

    सुनिश्चित करें कि आपका वेबसर्वर डोमेन पर चल रहा है और आपके सभी इंट्रानेट उपयोगकर्ताओं ने वेब सर्वर पर आपकी वेबसाइट वाले फ़ोल्डर तक पहुंच पढ़ ली है।

    फिर, सुनिश्चित करें कि आप अपने web.config में है (यह मानते हुए आप पता लगाने के लिए जो डोमेन उपयोगकर्ता अपनी साइट तक पहुँच रहा है चाहता हूँ

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