5

हम हजारों उपयोगकर्ताओं के लिए संरक्षित सामग्री के साथ आईआईएस 7.5 सार्वजनिक सर्वर पर फॉर्म प्रमाणीकरण का उपयोग कर सास एएसपी.NET 3.5 वेब अनुप्रयोग चला रहे हैं। हमारे पास एएसपी.नेट एमवीसी 2.पूर्व प्रमाणीकरण के साथ एडी प्रमाणीकरण + एसएसओ को एकीकृत करने के लिए कैसे प्रमाणित सास वेब अनुप्रयोग

उपयोगकर्ता नाम और पासवर्ड हमारे डेटाबेस में संग्रहीत हैं और प्रत्येक उपयोगकर्ता के पास विशेषाधिकार और एक्सेस अधिकार परिभाषित किए गए भूमिकाएं और समूह संलग्न होते हैं।

अब हमें सक्रिय निर्देशिका के माध्यम से सरल एसएसओ लॉगिन की सुविधा प्रदान करने के लिए कहा गया है ताकि उपयोगकर्ताओं को लॉगिन करने के लिए दो बार उपयोगकर्ता नाम और पासवर्ड दर्ज करना पड़े। ये उपयोगकर्ता विभिन्न नेटवर्क और डोमेन से उत्पन्न होंगे।

कोई भी उपयोगकर्ता "सिंक" हमारे सर्वर से एलडीएपी सेवा में नहीं होना चाहिए। हमें यकीन नहीं है कि एलडीएपी के साथ किसी भी संचार की आवश्यकता है क्योंकि सभी उपयोगकर्ता हमारे सिस्टम में बनाए जाएंगे और वहां बनाए रखा जाएगा। हमारे अधिकांश उपयोगकर्ताओं के लिए फॉर्म प्रमाणीकरण का उपयोग किया जाएगा।

यहां से हम अनिश्चित हैं कि चुनने का सबसे अच्छा तरीका कौन सा है। हमारे परिदृश्य के लिए आगे बढ़ने का "सर्वोत्तम अभ्यास" तरीका क्या होगा?

+0

आपके प्रश्नों के सभी उत्तर यहां हैं http://msdn.microsoft.com/en-us/library/ff423674.aspx –

उत्तर

5

सरल उत्तर SAML है। इसे "सर्वश्रेष्ठ अभ्यास" माना जाता है और कई बड़े एसएएएस प्रदाता इसका समर्थन करते हैं।

SAML प्रोटोकॉल एकाधिक सिस्टम के बीच प्रवाह पर एकल संकेत को परिभाषित करता है। यह प्रमाण पत्र का उपयोग कर सिस्टम के बीच विश्वास स्थापित करता है। आपका एप्लिकेशन अन्य प्रणालियों से विशेषताओं (उपयोगकर्ता आईडी, नाम, ईमेल पता, आदि) सहित एक दावा स्वीकार करता है। आपका ऐप उपयोगकर्ता को आपके उपयोगकर्ता स्टोर में मैप करेगा।

.NET दुनिया में कई विकल्प हैं। आप एक पुस्तकालय पा सकते हैं जो SAML लागू करता है (घटक स्पेस में एक है) और इसे एएसपी.NET प्रमाणीकरण में लगाएं। आप विंडोज पहचान फ्रेमवर्क (डब्ल्यूआईएफ) का उपयोग कर अपना खुद का निर्माण कर सकते हैं। यहां वाईआईएफ वीडियो http://www.cloudidentity.com/blog/2010/06/23/ALL-WILL-BE-REVEALED-7-HOURS-RECORDINGS-FROM-THE-WIF-WORKSHOPS/ का बोतलबंद है। आप पहचान सर्वर http://thinktecture.github.io/

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

यह शायद आपके प्रश्न का पूरी तरह उत्तर नहीं देता है, लेकिन आशा है कि आपको सही दिशा में इंगित करें।

1

मैं ADFS 2.0 में देखने की सलाह देते यह दावा है मानचित्रण के मामले में बहुत शक्तिशाली है और ई के साथ काम करता है: http://msdn.microsoft.com/en-us/magazine/ee335705.aspx

क्या आप बनाना होगा एक टोकन लेने वाली अपने अनुप्रयोग वाले हिस्से की प्राप्त करते हैं और लौट आए अंतिम दावों पार्स होता है प्रमाणीकरण पाश के बाद अपने वेब सर्वर पर।

+0

जहां तक ​​मुझे पता है कि एडीएफएस केवल एडी के साथ काम करता है, तो यह एक आईडीपी के रूप में काम करेगा यदि हम मान लें कि सभी पहचान प्रदाता एडी-आधारित हैं। अन्य एलडीएपी के लिए आपको अन्य समाधानों की तलाश करनी है। एडीएफएस भरोसेमंद पार्टी के रूप में काम नहीं करेगा क्योंकि प्रश्न में ऐप एसक्यूएल को उपयोगकर्ता स्टोर के रूप में उपयोग करता है। हालांकि वाईआईएफ काम करेगा। – Sergey