नए ASP.NET पहचान कोर में दावा तंत्र का क्या मतलब है?
भूमिका और दावा पर आधारित दो सामान्य प्राधिकरण दृष्टिकोण हैं।
भूमिका आधारित सुरक्षा
उपयोगकर्ता को एक या एक से अधिक भूमिकाएं सौंपी जाती हैं, जिसके माध्यम से उपयोगकर्ता को अधिकार प्राप्त होते हैं। साथ ही, उपयोगकर्ता को किसी भूमिका को सौंपने से, उपयोगकर्ता को तुरंत उस भूमिका के लिए परिभाषित सभी एक्सेस अधिकार मिल जाते हैं।
दावा-आधारित सुरक्षा
दावों पर आधारित पहचान दावों का समूह है। एक दावा एक बयान है कि एक इकाई (एक उपयोगकर्ता या अन्य अनुप्रयोग) अपने बारे में बनाता है, यह सिर्फ एक दावा है। उदाहरण के लिए एक दावे की सूची में उपयोगकर्ता का नाम, उपयोगकर्ता का ई-मेल, उपयोगकर्ता की आयु, उपयोगकर्ता का प्राधिकरण कार्रवाई के लिए हो सकता है। भूमिका-आधारित सुरक्षा में, एक उपयोगकर्ता सीधे आवेदन के लिए क्रेडेंशियल्स प्रस्तुत करता है। दावे-आधारित मॉडल में, उपयोगकर्ता दावों को प्रस्तुत करता है न कि आवेदन को साख। व्यावहारिक मूल्य का दावा करने के लिए, यह एक इकाई से आता है जो एप्लिकेशन ट्रस्ट करता है।
नीचे दिए गए चरणों का वर्णन उस दावे-आधारित सुरक्षा मॉडल में होता है:
- उपयोगकर्ता एक कार्रवाई का अनुरोध करता है। निर्भर पार्टी (आरपी) आवेदन एक टोकन के लिए पूछता है।
- उपयोगकर्ता जारीकर्ता प्राधिकारी को क्रेडेंशियल्स प्रस्तुत करता है जो आरपी एप्लिकेशन पर भरोसा करता है।
- जारीकर्ता प्राधिकारी उपयोगकर्ता के क्रेडेंशियल्स को प्रमाणित करने के बाद, दावों के साथ एक हस्ताक्षरित टोकन जारी करता है।
- उपयोगकर्ता आरपी एप्लिकेशन को टोकन प्रस्तुत करता है। आवेदन टोकन हस्ताक्षर को सत्यापित करता है, दावों को निकालता है, और दावों के आधार पर या तो अनुरोध को स्वीकार या अस्वीकार करता है।
लेकिन, मैं अभी भी किसी भी जानकारी को समझ नहीं पाया और पा सकता हूं, जब डेटा AspNetUserClaims से जुड़ता है और इस तालिका के लिए किन स्थितियों का उपयोग कर रहा है?
जब आप ऐसी स्थिति में होते हैं जहां एक भूमिका-आधारित सुरक्षा का उपयोग नहीं किया जाता है, और आपने दावा-आधारित सुरक्षा का उपयोग करने के लिए चुना है, तो आपको AspNetUserClaims तालिका का उपयोग करने की आवश्यकता होगी। ASP.NET पहचान में दावे का उपयोग कैसे करें, अधिक जानकारी के लिए नीचे दिए गए लिंक देखें।
http://kevin-junghans.blogspot.com/2013/12/using-claims-in-aspnet-identity.html
अपडेट करें
मुझे किस समय भूमिका-आधारित सुरक्षा का उपयोग करना है और दावा-आधारित कब करना है? क्या आप कृपया कुछ उदाहरण लिख सकते हैं?
ऐसी कोई स्पष्ट स्थिति नहीं है जहाँ आप भूमिका-आधारित या दावा-आधारित सुरक्षा का उपयोग न करें या न करें, ऐसे मामले की तरह नहीं जहाँ आप B के बजाय A का उपयोग करेंगे।
लेकिन, दावा-आधारित अभिगम नियंत्रण, मुख्य व्यवसाय तर्क से प्राधिकरण नियमों के बेहतर पृथक्करण की अनुमति देता है। जब प्राधिकरण नियम बदलते हैं, तो मुख्य व्यवसाय तर्क अप्रभावित रहता है। ऐसी स्थितियाँ होंगी जहाँ आप क्लेम-आधारित दृष्टिकोण का उपयोग करना पसंद कर सकते हैं।
कभी-कभी दावों की जरूरत नहीं होती है। यह एक महत्वपूर्ण अस्वीकरण है। आंतरिक अनुप्रयोगों की मेजबानी वाली कंपनियां दावों द्वारा प्रदान किए गए कई लाभों को प्राप्त करने के लिए एकीकृत विंडोज प्रमाणीकरण का उपयोग कर सकती हैं। सक्रिय निर्देशिका उपयोगकर्ता पहचान को संग्रहीत करने का एक बड़ा काम करती है, और क्योंकि Kerberos विंडोज का एक हिस्सा है, आपके अनुप्रयोगों में कोई प्रमाणीकरण तर्क शामिल नहीं है। जब तक आपके द्वारा बनाया गया प्रत्येक एप्लिकेशन एकीकृत विंडोज प्रमाणीकरण का उपयोग कर सकता है, तब तक आप अपनी पहचान यूटोपिया तक पहुंच सकते हैं। हालाँकि, कई कारण हैं जिनकी वजह से आपको विंडोज ऑथेंटिकेशन के अलावा किसी और चीज़ की ज़रूरत पड़ सकती है। आपके पास वे वेब-फेसिंग एप्लिकेशन हो सकते हैं, जो आपके विंडोज डोमेन में उन लोगों द्वारा उपयोग किए जाते हैं जिनके खाते नहीं हैं। दूसरा कारण यह हो सकता है कि आपकी कंपनी का किसी दूसरी कंपनी में विलय हो गया है और आप ' दो विंडोज जंगलों को प्रमाणित करने में परेशानी हो रही है जो विश्वास नहीं करते हैं (और शायद कभी नहीं)। शायद आप किसी अन्य कंपनी के साथ पहचान साझा करना चाहते हैं जिसके पास गैर- नेट फ्रेमवर्क एप्लिकेशन हैं या आपको विभिन्न प्लेटफार्मों पर चल रहे अनुप्रयोगों (उदाहरण के लिए, मैकिन्टोश) के बीच पहचान साझा करने की आवश्यकता है। ये कुछ ही स्थितियाँ हैं जिनमें दावों पर आधारित पहचान आपके लिए सही विकल्प हो सकती है।
अधिक जानकारी के लिए, कृपया http://msdn.microsoft.com/en-us/library/ff359101.aspx पर जाएँ