2013-01-07 25 views
5

मैं वेबसेक्चर + सरलमेम्बरशिप का उपयोग करना चाहता हूं, लेकिन कस्टम/वैकल्पिक प्रमाणीकरण विधि के माध्यम से (वैकल्पिक रूप से) लॉगिन उपयोगकर्ताओं की क्षमता को कार्यान्वित करना चाहता हूं।WebSecurity + SimpleMembership का उपयोग करके मैन्युअल रूप से "उपयोगकर्ता को लॉग इन कैसे करें"?

वेब सुरक्षा। लॉग इन केवल एक विधि हस्ताक्षर है, जिसके लिए उपयोगकर्ता नाम और पासवर्ड दोनों की आवश्यकता होती है। मैं उदाहरण के पासवर्ड की जांच को छोड़, .:

if (MyCustomAuthenticationMethod.Authenticate(username, customData)) { 
    WebSecurity.Login(username); // Login without password check, method doesn't exist though 
} 

मुझे लगता है कस्टम Auth-तरीकों संभव दी OAuthWebSecurity मौजूद हैं चाहते हैं, लेकिन मुझे यकीन है कि मेरे अपने लागू करने के बारे में जाने के लिए कैसे नहीं हूँ।

उत्तर

8

ठीक है, तो आप बस वापस प्रमाणीकरण की जड़ तक जा सकते हैं और कॉल सीधे

FormsAuthentication.SetAuthCookie 

यह कुकी बनाएगा और आपके उपयोगकर्ता को प्रमाणित। देखें Asp.net Memebership Authorization without password

+0

अंतिम बार! - यह एक आकर्षण की तरह काम करता है, बहुत बहुत धन्यवाद! – BrainSlugs83

+1

यह ब्राउज़र के संदर्भ में उपयोगकर्ता को लॉग करता है, लेकिन यह WebSecurity को परिवर्तित नहीं करता है। CurrentId –

1

उन्होंने पासवर्ड के बिना लॉगिन करना आसान नहीं बनाया। एक तरीका यह भी अपने स्वयं के कस्टम OAuth प्लग में बनाने के लिए किया जा सकता है और केवल इस तरह अपने स्वयं के टोकन से कॉल करने की:

OAuthWebSecurity.Login("google", "token", true); 

आप एक कस्टम OAuth प्रदाता बनाने का तरीका यहां पा सकते हैं: http://www.codeguru.com/columns/experts/implementing-oauth-features-in-asp.net-mvc-4.htm

और आप यहाँ कोड ब्राउज़ कर सकते हैं:

internal static bool LoginCore(HttpContextBase context, string providerName, string providerUserId, bool createPersistentCookie) 
    { 
     var provider = GetOAuthClient(providerName); 
     var securityManager = new OpenAuthSecurityManager(context, provider, OAuthDataProvider); 
     return securityManager.Login(providerUserId, createPersistentCookie); 
    } 
01: https://github.com/ASP-NET-MVC/aspnetwebstack/blob/master/src/Microsoft.Web.WebPages.OAuth/OAuthWebSecurity.cs

यहाँ OAuthWebSecurity.cs फ़ाइल से एक टुकड़ा है कि कैसे उपयोगकर्ता पासवर्ड के बिना प्रमाणीकृत है के लिए के आंतरिक भागों से पता चलता है

शायद कोई भी इस प्लगइन को पहले ही बना चुका है।

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

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