2016-12-01 3 views
6

के साथ एएसपी.Net कोर के साथ किया जा सकता है हम विभिन्न नेट संस्करणों के आधार पर serveral साइटों को चला रहे हैं।सिस्टम फ्रेम का उपयोग पूर्ण फ्रेमवर्क

साइटों में से एक नेट 4.6 और ASP.Net MVC चल रहा है 5.xx

रेजर के लिए नए सिंटैक्स का उपयोग करने के लिए हम इस साइट के उन्नयन के लिए नेट 4.6 और ASP.Net कोर

उपयोग करना चाहते हैं

हम हमारी साइट पर फॉर्म प्रमाणीकरण का उपयोग करते हैं, और हम इसका उपयोग जारी रखेंगे ताकि उपयोगकर्ता साइट के बीच स्थानांतरित हो सके। (साइट्स में से एक एक SharePoint साइट चल रहा है फॉर्म प्रमाणीकरण)

हम समझते हैं कि एएसपी.Net कोर System.Web से कुछ भी उपयोग नहीं कर रहा है, लेकिन हमें इसे नियंत्रकों से (फॉर्म के दौरान फॉर्म प्रमाणीकरण कुकी बनाने के लिए) और HttpModule से उपयोग करने की आवश्यकता है कुकी सत्यापित करने के लिए।

मुझे कोई उदाहरण नहीं मिला है कि पूर्ण framwork के साथ ASP.Net कोर चलाने वाली साइट से system.web का उपयोग कैसे करें। मैं project.json में system.web के लिए निर्भरता जोड़ने में सक्षम नहीं हूं।

प्रश्न।

  1. क्या इस तरह के सेटअप से system.web का उपयोग करना संभव है?

  2. हम कैसे system.web निर्भरता जोड़ सकते हैं ताकि System.Web.FormsAuthentication इस तरह आपको लगता है काम नहीं कर सकता ASP.NET MVC 6. (नियंत्रकों/http मॉड्यूल)

+1

क्यों नेट नेट में फॉर्म प्रमाणीकरण न करें? – DavidG

+1

प्रपत्र प्रमाणीकरण .Net कोर में समर्थित नहीं है। यही कारण है कि हम नेट कोर पर नहीं जा सकते क्योंकि हम फॉर्म्स प्रमाणीकरण के साथ इन सभी अन्य साइटों को चला रहे हैं। (ऐसी अन्य निर्भरताएं भी हैं जो वर्तमान समय पर नेट कोर के साथ संगत नहीं हैं) – TheTechArch

+0

सिस्टम का उपयोग करना। वेब डीएल System.Web का उपयोग करने जैसा नहीं है। सिस्टम में से कोई भी नहीं। वेब पाइपलाइन आपके एएसपी.नेट कोर एप्लिकेशन के लिए चलेगी ताकि आप जो भी करने की कोशिश कर रहे हैं वह आप नहीं कर सकते। – davidfowl

उत्तर

3

सिस्टम का उपयोग करना। वेब डीएल System.Web का उपयोग करने जैसा नहीं है। सिस्टम में से कोई भी नहीं। वेब पाइपलाइन आपके एएसपी.नेट कोर एप्लिकेशन के लिए चलेगी ताकि आप जो भी करने की कोशिश कर रहे हैं वह आप नहीं कर सकते।

+0

धन्यवाद डेविड। वह जो मैं डरता था। मुझे कुछ अनुकूल के साथ SharePoint में फॉर्म प्रमाणीकरण को प्रतिस्थापित करने के विकल्प को देखने की आवश्यकता होगी। – TheTechArch

+0

बहुत सारी प्रणाली। वेब समानताएं Microsoft.AspNetCore के भीतर हैं। – JoshYates1980

4

से उपलब्ध है । जब आप पूर्ण फ्रेमवर्क के खिलाफ नेट कोर एमवीसी का उपयोग करते हैं तो यह सच है कि System.Web नेमस्पेस मौजूद है और तकनीकी रूप से कॉल किया जा सकता है लेकिन यह आपके जैसा काम नहीं करेगा। कारण यह है कि Asp.Net कोर और System.Web के लिए अनुरोध पाइपलाइन पूरी तरह से अलग हैं। तो उदाहरण के लिए जब Asp.Net कोर एमवीसी का उपयोग करते हैं तो यदि आप अनुरोध करते समय HttpContext ऑब्जेक्ट को चेक करते हैं तो यह आपके द्वारा अपेक्षित सभी जानकारी के साथ पॉप्युलेट किया जाएगा, लेकिन यदि आप System.Web ऑब्जेक्ट्स का उपयोग करके वर्तमान अनुरोध की जांच करते हैं तो आप देखेंगे कि उनका कोई वर्तमान अनुरोध नहीं है। ऐसा इसलिए है क्योंकि वर्तमान अनुरोध System.Web पाइपलाइन के माध्यम से नहीं आया था। यदि आप करेंगे तो यह नेट कोर "पाइपलाइन" के माध्यम से आया था। तो यदि आप नेट कोर एमवीसी का उपयोग कर रहे हैं तो आपको उस ढांचे के औजारों और दृष्टिकोणों के साथ रहना होगा, सिस्टम सिस्टम में उपलब्ध नहीं।

हालांकि, यदि आपके वास्तव में चाहते हैं तो System.Web.dll का संदर्भ देना संभव होना चाहिए। यदि आप VS2015 का उपयोग कर रहे हैं तो आपको System.Web.Dll की एक प्रति प्राप्त करने की आवश्यकता होगी और इसे संदर्भित करने के लिए इसे एक nuget पैकेज में लपेटना होगा। यहां देखें .net core 1.0 visual studio referencing external dll वीएस2017 आरसी में अल्फा टूलिंग है जो इसे NuGet पैकेज में लपेटने की आवश्यकता को खत्म कर देनी चाहिए, लेकिन मुझे इसे अपनी मशीन पर इंस्टॉल करने में परेशानी हुई है, इसलिए मैं इसे व्यक्तिगत रूप से नहीं देख सकता।

+0

हम कुकीज़ को फॉर्म प्रमाणीकरण में स्पष्ट रूप से भेज रहे हैं ताकि वास्तव में कोई समस्या न हो।(यदि फॉर्म से प्रमाणीकरण नहीं है तो अनुरोध से कुछ उम्मीद कीजिए) HttpModule से कुकी फॉर्म प्रमाणीकरण टिकट टिकट = फॉर्म प्रमाणीकरण। डिक्रिप्ट (कुकी.वैल्यू) – TheTechArch

+0

मैं सुनता हूं, और यदि आप 4 से फॉर्म प्रमाणीकरण API में कम पर्याप्त प्राचीन तरीकों के साथ काम कर सकते हैं। एक्स जो HttpContext या इसके उपनिवेशों के _any_ तक नहीं पहुंचता है, तो आप इसे काम करने में सक्षम हो सकते हैं। लेकिन यह एक बड़ा है, और अधिकतर लोग उत्पादन में समर्थन नहीं करना चाहते हैं। –

+0

हम कम से कम देखना चाहते हैं कि क्या संभव है। मुझे वास्तव में नया साफ रेजर सिंटैक्स पसंद है। (हम नेट कोर के साथ अन्य गैर संबंधित साइटों का निर्माण कर रहे हैं) लेकिन सबसे पहले हमें system.web के लिए निर्भरता बनाने का एक तरीका चाहिए जो पूर्ण ढांचे को चलाने वाले एप्लिकेशन से सुलभ है। यदि यह भी संभव नहीं है तो यह फॉर्म प्रमाणीकरण के लिए एक शोस्टॉपर है और फिर हमें शेष साइटों के लिए प्रमाणीकरण को कुछ नया करने के लिए उपयोग करने की आवश्यकता हो सकती है जिसका उपयोग पूरे किया जा सकता है। – TheTechArch

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