2012-09-23 11 views
6

का प्रतिनिधित्व करती है मैं खाता पुष्टिकरण टोकन पुनर्प्राप्त करने के लिए webpages_Membership तालिका (मैं SimpleMembership का उपयोग कर रहा हूं) तक पहुंचने का प्रयास कर रहा हूं।एमवीसी 4: कौन सी इकाई तालिका webpages_Membership

मैं इस मॉडल को अपने मॉडल/नियंत्रक/डीएएल से कैसे एक्सेस करूं?

एकमात्र चीज जो मैं सोच सकता हूं वह इस कोड को प्राप्त करने के लिए मेरे कोड से शुद्ध एसक्यूएल निष्पादित कर रहा है, लेकिन ऐसा लगता है कि ऐसा करने की सही बात नहीं है, न ही सुरुचिपूर्ण।

उत्तर

2

जो मैं समझता हूं, उससे WebSecurity सहायक का उपयोग करके मूल्य पुनर्प्राप्त करने का कोई सीधा तरीका नहीं है।

string confirmationToken = WebSecurity.CreateUserAndAccount("tester", "test123", requireConfirmationToken: true); 

फिर आप इस टोकन (उदाहरण के लिए एक QueryString पैरामीटर के रूप में एक कड़ी के अंदर) भेजने के उपयोगकर्ता की ई-मेल एड्रेस रहे हैं:

आप एक उपयोगकर्ता बना सकते हैं और खाता जब विधि पुष्टि टोकन देता है। उपयोगकर्ता लिंक क्लिक करता है, अपने app प्राप्त करना चाहिए/इस टोकन पढ़ सकते हैं और उसके बाद आप कॉल करना होगा:

WebSecurity.ConfirmAccount(userName, confirmationToken); 

आप उल्लेख किया है आप के पाठ्यक्रम डाटाबेस सीधे अपने एसक्यूएल लिख रहे हैं या यहां तक ​​कि एक के लिए webpages_Membership जोड़ने हिट कर सकते हैं EntityFramewok edmx मॉडल और क्वेरी सीधे तालिका:

var confirmationToken = Database.Memberships.Single(m => m.UserId == userId).ConfirmationToken; 

अधिक इस पर:

Using the confirmation feature for ASP.NET Web Pages security

Get Account Confirmation Token?

+0

धन्यवाद लेनिल। आपने जो वर्णन किया है वह मेरा इरादा है, लेकिन कभी-कभी उपयोगकर्ता (किसी भी कारण से) पुष्टि ईमेल फिर से भेजना चाहता है। मूल पुष्टि पुनर्प्राप्त करने के लिए कस्टम एसक्यूएल का उपयोग किये बिना हम पुनः प्रेषण फ़ंक्शन को कैसे कार्यान्वित करेंगे? – 9999bao

+0

इस मामले में आप उपयोगकर्ता के लिए 'पुष्टिकरण टोकन' पुनर्प्राप्त करने के लिए यहां वर्णित डेटाबेस सहायक का उपयोग कर सकते हैं: http://www.mikesdotnetting.com/Article/156/WebMatrix-Database-Helpers-for-IN-Clauses –

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