5

यह documentation describes हिस्सा कैसे एक से अधिक प्रमाणीकरण योजना का उपयोग करने के:मैं एकाधिक प्राधिकरण योजनाओं के साथ एएसपी.नेट में संबंधित बेयरर और कुकी पहचान कैसे जारी करूं?

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

उदाहरण:

app.UseCookieAuthentication(new CookieAuthenticationOptions() 
{ 
    AuthenticationScheme = "Cookie", 
    LoginPath = new PathString("/Account/Unauthorized/"), 
    AccessDeniedPath = new PathString("/Account/Forbidden/"), 
    AutomaticAuthenticate = false 
}); 

app.UseBearerAuthentication(options => 
{ 
    options.AuthenticationScheme = "Bearer"; 
    options.AutomaticAuthenticate = false; 
}); 

हालांकि यह केवल का वर्णन वाहक या कुकी प्रमाणन का उपयोग कैसे करें। स्पष्ट नहीं है कि अन्य संयोजन क्या मान्य हैं, या क्लाइंट को बेयरर या कुकीज़ को सही तरीके से कैसे जारी करें।

यह कैसे पूरा किया जा सकता है? इस के लिए

+0

यह सिर्फ एक उदाहरण है। आप अपना खुद का ऑथ मिडलवेयर बना सकते हैं, इसे उपरोक्त सूची में जोड़ सकते हैं, और किसी भी संयोजन में उपयोग कर सकते हैं, उदा। एक नियंत्रक 3 योजनाओं में से किसी एक का उपयोग करके प्रमाणीकरण की अनुमति दे सकता है, कोई अन्य उनमें से केवल – Vitaly

+0

की अनुमति दे सकता है, इसके अलावा आप अलग-अलग प्रमाणीकरणशेक नाम और अन्य सेटिंग्स के साथ दो बार "कुकी" मिडलवेयर जोड़ सकते हैं – Vitaly

+0

आप "मध्य" पहचान सर्वर क्यों नहीं डालते 4.0? मैंने किया और यह मुझे बहुत समय बचाया और साथ ही नमूने और पैटर्न के साथ आपके अधिकांश प्रश्नों का उत्तर दिया: http://docs.identityserver.io – Raffaeu

उत्तर

4

एक सामान्य उपयोग मामले में जो फेसबुक, गूगल आदि उपयोग की तरह बड़ी साइटों कई कुकी प्रमाणीकरण मिडलवेयर के इस्तेमाल करते हैं और उनमें से एक स्थापित करने के लिए है डिफ़ॉल्ट AutomaticAuthenticate

app.UseCookieAuthentication(new CookieAuthenticationOptions() 
{ 
    AuthenticationScheme = "InsecureLongLived", 
    LoginPath = new PathString("/Account/Unauthorized/"), 
    AccessDeniedPath = new PathString("/Account/Forbidden/"), 
    AutomaticAuthenticate = true 
}); 
app.UseCookieAuthentication(new CookieAuthenticationOptions() 
{ 
    AuthenticationScheme = "SecureAndShortLived", 
    LoginPath = new PathString("/Account/Unauthorized/"), 
    AccessDeniedPath = new PathString("/Account/Forbidden/"), 
    AutomaticAuthenticate = false 
}); 
  • डिफ़ॉल्ट से एक का उपयोग होने के लिए लंबे समय तक रहता है और गैर-महत्वपूर्ण लेख परिदृश्यों के लिए उपयोग किया जाता है फेसबुक पर, यह आपके प्रोफाइल पेज को देखना हो सकता है।
  • सुरक्षा के लिए महत्वपूर्ण उपयोगकर्ता कार्रवाई जैसे पासवर्ड या प्रोफाइल जानकारी को बदलने के लिए अधिक सुरक्षित और अल्पकालिक उपयोग किया जाता है।

यह आपको लंबे समय तक रहने वाली कुकी के साथ हर समय लॉगिन करने की सुविधा देता है लेकिन जैसे ही आपको कुछ खतरनाक करने की ज़रूरत होती है, आप बहुत कम रहने वाले और इस तरह से अधिक सुरक्षित रहते हैं कुकी जो उपयोगकर्ता को फिर से लॉगिन करने की आवश्यकता होती है।

+1

महान उत्तर और यह वास्तव में मेरी मदद करता है। लेकिन मैंने देखा कि यह दस्तावेज (https://docs.microsoft.com/en-us/aspnet/core/security/authorization/limitingidentitybyscheme) कहता है कि उनमें से कोई भी 'स्वचालित प्रमाणीकरण' सेट को सत्य पर नहीं होना चाहिए। मुझे यह दृष्टिकोण बहुत पसंद है, लेकिन क्या इसका इस्तेमाल देशी जेडब्ल्यूटी आधारित परिदृश्यों के लिए किया जा सकता है? मुझे लगता है कि मूल ग्राहक को टोकन को रखने और इसे समझने के लिए प्रबंधन करना होगा, क्योंकि सर्वर सिर्फ 401 वापस करेगा और आपको पता नहीं होगा कि कौन सी नीति पुन: प्रमाणीकरण का प्रयास करेगी। – nhwilly

+1

मुहम्मद, आप कम सुरक्षित कुकी का उपयोग करने के लिए वापस कैसे स्विच करते हैं जब आप कम सुरक्षित पृष्ठ तक पहुंच रहे हैं और अधिक सुरक्षित कुकी समाप्त हो गई है? – nhwilly

+0

@nhwilly प्राधिकरण नीतियों में देखें। आप प्रमाणीकरणशेम सेट करके प्रत्येक कुकी ऑथ मिडलवेयर के लिए एक सेट अप कर सकते हैं। फिर आप प्राधिकृत विशेषता का उपयोग कर सही नीति का उपयोग करें। –

संबंधित मुद्दे