
एकीकृत विंडोज प्रमाणीकरण का अवलोकन
इंटीग्रेटेड विंडोज ऑथेंटिकेशन (IWA) एक ऐसा तंत्र है जो IIS और उपयोगकर्ता दोनों के एक ही डोमेन में लॉग इन होने पर IIS को उपयोगकर्ता प्रमाणीकरण जानकारी स्वचालित रूप से प्रदान करता है। ASP.NET के C# का उपयोग करके साइट बनाते समय, आप यह निर्धारित कर सकते हैं कि कोई उपयोगकर्ता प्रमाणित है या नहीं और प्रमाणित उपयोगकर्ताओं के बारे में जानकारी प्राप्त कर सकते हैं।
इससे उपयोगकर्ता बिना किसी अतिरिक्त लॉगिन प्रक्रिया के आईआईएस पर होस्ट किए गए (या एकीकृत) वेब एप्लिकेशन तक पहुंच सकते हैं, और अन्य एप्लिकेशन सर्वरों के साथ एसएसओ एकीकरण सक्षम होता है।
*यदि कोई उपयोगकर्ता उसी डोमेन से जुड़ा नहीं है या प्रमाणित नहीं है, तो एक IIS पृष्ठ साइन-इन डायल प्रदर्शित करेगा, और यदि प्रमाणीकरण सही ढंग से नहीं किया जाता है, तो HTTP त्रुटि 401.1 - अनधिकृत उत्पन्न होगी।

एसएसओ (सिंगल साइन-ऑन) प्रवाह
Chat&Messenger का ऑन-प्रिमाइसेस अल्टीमेट प्लान, एकीकृत विंडोज प्रमाणीकरण के माध्यम से SSO को सक्षम बनाता है। SSO प्रक्रिया इस प्रकार है:
- क्लाइंट सबसे पहले एकीकृत विंडोज प्रमाणीकरण पृष्ठ /cam-iisso तक पहुंचता है।
- /cam-iissso पेज ASP.NET का उपयोग करके यह निर्धारित करता है कि उपयोगकर्ता प्रमाणित है या नहीं और फिर CAMServer से कनेक्ट होता है।
- CAMServer यह सत्यापित करने के लिए LDAP खोज करता है कि उपयोगकर्ता एक वैध AD उपयोगकर्ता है, CAMServer तक पहुँचने के लिए एक URL और एक ssoToken (30 बाइट्स या उससे अधिक का एक अद्वितीय यादृच्छिक मान) उत्पन्न करता है, और फिर रीडायरेक्ट का अनुरोध करता है।
- CAMServer पर जाएं और ssoToken का उपयोग करके प्रमाणीकरण करें। सफल प्रमाणीकरण के बाद, API एक्सेस के लिए एक सेशन ID आवंटित की जाएगी।

एसएसओ को लागू करने की आवश्यकताएं
विंडोज सर्वर को डोमेन से जोड़ें
कृपया CAMServer/IIS चलाने वाले Windows Server को Active Directory डोमेन से जोड़ें।
यह जांचने के लिए कि कोई मौजूदा विंडोज सर्वर किन डोमेन से जुड़ा है, "सर्वर मैनेजर" पर जाएं, बाएं मेनू में "लोकल सर्वर" पर क्लिक करें, "कंप्यूटर नाम" पर क्लिक करें और डोमेन फ़ील्ड देखें।
इसके अतिरिक्त, IIS को CAMServer के समान सर्वर पर होना चाहिए और पोर्ट 80 पर चलना चाहिए। यदि आप CAMServer के सामने लोड बैलेंसर लगाते हैं, तो CAMServer पोर्ट 8080 पर चलेगा, जिससे IIS पोर्ट 443 का भी उपयोग कर सकेगा।
आईआईएस इंस्टॉलेशन
सर्वर रोल से IIS इंस्टॉल करें। IIS इंस्टॉल करते समय, रोल सेवाओं के चयन विकल्पों में निम्नलिखित विकल्पों को चुनें।
- विंडोज प्रमाणीकरण
- ISAPI फ़िल्टर
- ISAPI एक्सटेंशन

ASP.NET Core होस्टिंग बंडल इंस्टॉल करें।
ASP.NET कोर होस्टिंग बंडल कृपया इसे इंस्टॉल करें। इंस्टॉलेशन के बाद, IIS को रीस्टार्ट करें और सत्यापित करें कि AspNetCoreModuleV2 हैंडलर मैपिंग में मौजूद है।



एक एप्लिकेशन जोड़ना (cam-iissso)
कृपया cam-iissso एप्लिकेशन को अपनी डिफ़ॉल्ट वेबसाइट में जोड़ें।
- उपनाम: cam-iissso
- भौतिक पथ: \sys\cam-iissso-net8.0
इसके अतिरिक्त, cam-iissso-net8.0 फ़ोल्डर के लिए IIS_IUSRS समूह को केवल पढ़ने की अनुमति (पढ़ना और निष्पादित करना, फ़ोल्डर सामग्री सूचीबद्ध करना, पढ़ना) प्रदान करें।


विंडोज़ प्रमाणीकरण सक्षम करें
"विंडोज ऑथेंटिकेशन" पर राइट-क्लिक करें और "इनेबल" चुनें।

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


एलडीएपी सेटिंग्स
यदि आप IIS का उपयोग करके सिंगल साइन-ऑन करना चाहते हैं,एलडीएपी सेटिंग्स(LDAPUrl, LDAPBaseDN, और प्रॉक्सी प्रमाणीकरण करने वाले AD उपयोगकर्ता की आवश्यकता है।)

एफक्यूडीएन (पूर्णतापूर्वक योग्य डोमेन नाम) का उपयोग करके एक्सेस और एसपीएन पंजीकरण।
होस्टनाम (नेटबायोस नाम) का उपयोग करके आईआईएस विंडोज इंटीग्रेटेड ऑथेंटिकेशन पेज तक पहुंचने के लिए पंजीकरण की आवश्यकता नहीं होती है, लेकिन एफक्यूडीएन (पूर्णता से योग्य डोमेन नाम, जैसे sso.example.com) का उपयोग करके इस तक पहुंचने पर एसपीएन पंजीकरण आवश्यक है।
सर्विस प्रिंसिपल नेम (एसपीएन) एक ऐसा नाम है जिसका उपयोग केर्बेरोस प्रमाणीकरण में एक्टिव डायरेक्टरी पर किसी विशिष्ट सेवा की विशिष्ट पहचान करने के लिए किया जाता है। जब किसी सेवा को उसके पूर्णतः योग्य डोमेन नाम (एफक्यूडीएन) का उपयोग करके एक्सेस किया जाता है, तो एसपीएन को पंजीकृत करने से क्लाइंट उस सेवा के लिए सही ढंग से केर्बेरोस टिकट का अनुरोध कर सकता है।
उदाहरण के लिए https://sso.example.com किसी सेवा का उपयोग करते समय, क्लाइंट (ब्राउज़र) एक्टिव डायरेक्टरी से एक टिकट का अनुरोध करता है जिसमें लिखा होता है, "मैं HTTP/sso.example.com नामक सेवा से जुड़ना चाहता/चाहती हूँ।" एक्टिव डायरेक्टरी जाँच करती है कि SPN किस खाते से जुड़ा है और उसी के अनुसार सेवा टिकट जारी करती है। यदि SPN सही ढंग से पंजीकृत नहीं है, तो केर्बेरोस प्रमाणीकरण विफल हो जाएगा, जिसके परिणामस्वरूप प्रमाणीकरण संवाद प्रदर्शित होगा।
SPN पंजीकरण IIS होस्ट करने वाले कंप्यूटर खाते के लिए किया जाता है। उदाहरण के लिए,विज्ञापन होस्टनाम [hostname] के अंतर्गत चल रहे IIS के लिए, SPN को निम्नानुसार पंजीकृत करें:
setspn -S HTTP/sso.example.com ad$
पंजीकरण के बाद, आप निम्न कमांड का उपयोग करके जांच कर सकते हैं:
setspn -L ad$
यह परिणाम HTTP/sso.example.com यदि यह प्रदर्शित होता है, तो आपका एसपीएन पंजीकरण सफल रहा।
HTTP प्रॉक्सी कनेक्शन वातावरण में उपलब्ध नहीं है।
कृपया ध्यान दें कि HTTP प्रॉक्सी कनेक्शन वातावरण में SSO उपलब्ध नहीं है।
लोड बैलेंसर + एसएसएल वातावरण कॉन्फ़िगरेशन
यदि आप लोड बैलेंसर + एसएसएल वातावरण में आईआईएस इंटीग्रेटेड विंडोज ऑथेंटिकेशन का उपयोग कर रहे हैं, तो कृपया निम्नलिखित ब्लॉग पोस्ट देखें।


