2014-06-17 17 views
5

के साथ सिग्नलआर .NET क्लाइंट को प्रमाणित करने के लिए मैं थोड़ी देर के लिए इसका शोध कर रहा हूं और इसे समझने में प्रतीत नहीं होता।एमवीसी 5 एएसपी.नेट पहचान फ्रेमवर्क

मेरे पास एक .NET सिग्नल क्लाइंट है जिसे एएसपी.NET पहचान (एमवीसी 5) के साथ प्रमाणित करने की आवश्यकता है ताकि वह [प्राधिकृत] विशेषता के साथ सुरक्षित सिग्नलआर हब्स तक पहुंच सके।

मैं निम्नलिखित संसाधन मिला (कृपया नेट ग्राहकों/कुकी के लिए प्रमाणीकरण विकल्प देखें):

http://www.asp.net/signalr/overview/signalr-20/security/hub-authorization

हालांकि कुकी पुन: प्राप्त करने के लिए कोड का नमूना काम नहीं करता है की वजह से:

authCookie = response.Cookies[FormsAuthentication.FormsCookieName]; 

और जैसा कि मैं प्रपत्र प्रमाणीकरण का उपयोग नहीं कर रहा हूं, यह एक त्रुटि उत्पन्न करता है।

मुझे यकीन है कि एएसपी.NET पहचान के लिए इसे कैसे बदला जाए?

क्या मैंने सही दृष्टिकोण पर ध्यान केंद्रित किया है, यानी। एक कुकी को पुनः प्राप्त करना और फिर इसे कुकी कंटेनर में जोड़ना? या क्या मुझे हेडर्स में उपयोगकर्ता नाम और पासवर्ड को हब में पास करना चाहिए और किसी भी तरह से प्रमाणीकरण करना चाहिए?

मुझे एहसास नहीं हुआ कि सिग्नलर और पहचान फ्रेमवर्क के साथ .NET क्लाइंट का उपयोग करके प्रमाणीकरण करना कितना भ्रमित होगा।

भले ही यह मेरा उपयोग मामला नहीं है, मैं ज़ैमरिन के साथ सवाल भी टैग कर रहा हूं क्योंकि मुझे लगता है कि यह सिमरल .NET क्लाइंट का उपयोग कर ज़मरिन मोबाइल डेवलपर्स द्वारा सामना किया जाने वाला एक मुद्दा हो सकता है।

जैसा कि मुझे इंटरनेट पर कोई उदाहरण नहीं मिल रहा है, किसी भी सहायता की बहुत सराहना की जाएगी। धन्यवाद।

+0

को बदल सकते हैं और आप इसे कैसे सब पर मिल सकता है? मैं प्राधिकृत करता हूं, फिर एमवीसी 5 का उपयोग करके, मैं लॉग इन करता हूं, यह अभी भी मुझे अनधिकृत बताता है ... कोई भी कोड पूर्वावलोकन नहीं है, पहले भाग के लिए जो AuthorizeAttribute का उपयोग करता है, यह बताने के लिए कि यह विशेषता डालने के अलावा अन्य क्या करना है ... किसी ग्राहक को अधिकृत या अनधिकृत करने में सक्षम। – deadManN

उत्तर

1

बस इस

var authCookie = response.Cookies[FormsAuthentication.FormsCookieName];

var authCookie = response.Cookies[".AspNet.ApplicationCookie"];

0

आप उपयोग कर रहे हैं ASP.NET पहचान Owin साथ, उपयोगकर्ता के बाद में लॉग इन और auhtenticate सफलतापूर्वक, आने वाले अनुरोधों के लिए आप AuthenticateUser विधि इस से बदल सकते हैं:

using (var response = request.GetResponse() as HttpWebResponse) 
     { 
      authCookie = response.Cookies[FormsAuthentication.FormsCookieName]; 
     } 

     if (authCookie != null) 
     { 
      return true; 
     } 
     else 
     { 
      return false; 
     } 

यह करने के लिए:

var context = Request.GetOwinContext(); 
var isAuthenticated= context.Authentication.User.Identity.IsAuthenticated; 
return isAuthenticated; 

और तुम सिर्फ पाने की जरूरत है कुकी:

var cookieName = Request.Cookies.AllKeys.SingleOrDefault(c => c.Contains(DefaultAuthenticationTypes.ApplicationCookie)); 
if (cookieName != null) 
{ 
    var cookie = Request.Cookies[cookieName]; 
} 
+0

अभी तक प्रतिक्रिया न देने के लिए मुझे क्षमा करें। मैं उपयोगकर्ता को पहले प्रमाणित करने की कोशिश कर रहा हूं। जवाब देने के लिए वापस आ जाएगा। आपके सहयोग के लिए धन्यवाद। –

+0

और वह कभी वापस नहीं आया .. @SiBxxx – Zimano

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