5

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

अब कंपनी ब्राउज़र Internet Explorer है और पासवर्ड के लिए संकेत दिए बिना, अन्य Windows प्रमाणीकरण साइटों में स्वचालित रूप से प्रवेश करने के लिए कॉन्फ़िगर किया गया है। ऐसा तब हो रहा है जब लोग कंपनी पीसी का उपयोग कर रहे हों और अपने डोमेन खातों में लॉग इन हों। और अगर वे घर से काम कर रहे हैं, तो मूल प्रमाणीकरण संकेत इन प्रणालियों पर प्रमाण-पत्र मांग रहा है।

अब मैं एक स्वत: प्रमाणीकरण जब उपयोगकर्ता लॉग-इन किया उनके Windows डोमेन खातों में, काम पीसी से, और प्रवेश-पेज के साथ मौजूद है, तो वे घर से काम कर रहे हैं को लागू करना चाहते हैं।

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

तो मेरा प्रश्न नीचे आता है: क्या नियंत्रक की एक विशिष्ट कार्रवाई पर मूल प्रमाणीकरण के लिए 401 चुनौती शुरू करने (और पूर्ण) करने का कोई तरीका है? और फिर OWIN कुकी सेट करने के लिए Controller.User.Identity संपत्ति में हुक?

युपीडी: के रूप में टिप्पणी प्रति: मैं करबरोस (विंडोज प्रमाणीकरण) जब उन डोमेन नेटवर्क पर हैं काम करना चाहते हैं, तो वे स्वचालित रूप से लॉग-इन किया। लेकिन मैं नहीं चाहता कि विंडोज प्रमाणीकरण तब हो जब उपयोगकर्ता डोमेन नेटवर्क पर न हों, इसके बजाय मैं पासवर्ड रीसेट के लिए विकल्पों के साथ कस्टम लॉगिन पेज चाहता हूं और पंजीकरण (कर्मचारी सत्यापन दिया गया)।

+0

उपयोग वीपीएन और उन कॉर्पोरेट नेटवर्क में प्रवेश किया है। उन्हें केडीसी मिलेगा और केर्बेरोज के माध्यम से प्रमाणित किया जाएगा। –

+0

@ माइकल-ओ वीपीएन सवाल से बाहर है। उपयोगकर्ता पहले से ही टर्मिनल सर्वर (आरडीपी) का उपयोग कर अपने डोमेन में लॉगिन कर रहे हैं। – trailmax

+0

यदि वे पहले से ही नेटवर्क में हैं, तो आपके पास नेटवर्क सेटअप समस्या है। गौर करें कि देशी माइक्रोसॉफ्ट समाधान कभी भी एलडीएपी बांध का उपयोग नहीं करते हैं लेकिन केर्बेरोज/एनटीएलएम, आदि –

उत्तर

1

तो मैं ठीक से अपने प्रश्न पढ़ने के लिए, आपको निम्न की तरह कुछ करने के लिए चाहते हो सकता है ...

1) 2 प्राधिकरण फ़िल्टर बनाएं: एक है कि विज्ञापन और एक का उपयोग करें कि BasicAuthentication

2 का उपयोग करें) रखो उन्हें क्रम में आप चाहते हैं। आपके मामले में, अगर मैं सही ढंग से समझ गया, तो आप पहले एडी जांचना चाहते हैं। यदि एडी प्रमाणीकरण आपको मूलभूत विफलता में विफल रहता है (जहां आप 401 चुनौती लागू करते हैं)। यकीन है कि फिल्टर क्रम में क्रियान्वित कर रहे हैं यदि आप चाहते बनाने के लिए, फिल्टर पर संपत्ति आदेश पर ध्यान देना: https://msdn.microsoft.com/en-us/library/gg401854%28v=vs.98%29.aspx

3) जो कुछ भी फिल्टर आप में (ई या BasicAuth अंत) आप वहाँ से

अपने Owin कुकी सेट कर सकते हैं उम्मीद है की वो मदद करदे।

+0

समस्या मूल प्रमाणीकरण फ़िल्टर के कार्यान्वयन के साथ है। आप इसे कैसे करते हो? – trailmax

+0

क्या आप थोड़ा और विशिष्ट हो सकते हैं, कृपया? इसके साथ समस्या क्या है? आपके पास कोई सामान्य विचार नहीं है कि इसे कैसे करें या इसके बारे में कुछ खास कैसे करें? –

+0

यहां एक उदाहरण दिया गया है कि यह कैसे किया जा सकता है: http://www.ryadel.com/en/http-basic-authentication-asp-net-mvc-using-custom-actionfilter/ –

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