2013-02-25 14 views
18

मैं एमवीसी 4 इंटरनेट टेम्पलेट का उपयोग कर एक वेब एप्लिकेशन लिख रहा हूं। मुझे वास्तव में उपयोगकर्ता प्रबंधन के लिए जटिल कुछ भी नहीं चाहिए, इसलिए मैं डिफ़ॉल्ट SimpleMembershipProvider के साथ चला गया। मैं App_Start में सदस्यता शुरू कर रहा हूं, और मेरे पास भूमिकाएं और उपयोगकर्ता सेट अप और काम कर रहे हैं। मैं एसएसओ या किसी अन्य ओथ सुविधाओं का उपयोग नहीं कर रहा हूं। अब मैं एक परीक्षक है कि उनके पासवर्ड भूल गया है और पूरे दिन मुझे पता googling के बाद मैं पता नहीं कैसे उसकी पासवर्ड रीसेट करने या इसे बदलने के लिए है!एमवीसी 4 में SimpleMembership का उपयोग करके मैं पासवर्ड कैसे रीसेट या बदल सकता हूं?

मैंने प्रलेखन के माध्यम से पढ़ा है और पाया है कि ResetPassword फ़ंक्शन is not supported if using SimpleMembership फ़ंक्शन।

  1. स्विच SimpleMembership से मानक सदस्यता SimpleMembership टेबल और प्रारूप
  2. का उपयोग करता है कुछ मैं निर्दिष्ट करने के लिए उपयोगकर्ता का पासवर्ड रीसेट करने के लिए: मेरा प्रश्न है, मैं कैसे या तो करते हैं?

मैं करने के लिए (सैद्धांतिक) SimpleMembership उपयोग करने के लिए सदस्यता प्रदाता सेट web.config सेटिंग्स मिल गया है, लेकिन मैं यह सोचते हैं कि यह करने के लिए सही तरीका है का उपयोग कैसे तालिका निर्दिष्ट करने के लिए के बारे में सुनिश्चित (नहीं कर रहा हूँ)।

web.config अनुभाग:

<roleManager enabled="true" defaultProvider="SimpleRoleProvider"> 
    <providers> 
    <clear/> 
    <add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/> 
    </providers> 
</roleManager> 
<membership defaultProvider="SimpleMembershipProvider"> 
    <providers> 
    <clear/> 
    <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" /> 
    </providers> 
</membership> 

और वर्तमान InitializeDatabaseConnection है कि मैं (लगता है) मैं web.config में की आवश्यकता है:

WebSecurity.InitializeDatabaseConnection("UPEFSSecurity", "Datamart_User", "UserId", "UserName", autoCreateTables: true); 
+0

http://stackoverflow.com/questions/13212938/forgot-password-email-confirmation-in-asp-net-mvc-webmatrix/ 16985811 # 16985811 यह अपनी आवश्यकताओं के लिए पर्याप्त होगा :) –

उत्तर

45

ऐसा करने के लिए ठीक से आप की आवश्यकता होगी एक ईमेल वसूली लिंक स्थापित करें। लेकिन यहाँ API कॉल आप बनाना होगा है:

var token = WebSecurity.GeneratePasswordResetToken(username); 
// create a link with this token and send email 

// link directed to an action with form to capture password 
WebSecurity.ResetPassword(token, password); 

http://msdn.microsoft.com/en-us/library/webmatrix.webdata.websecurity.resetpassword(v=vs.111).aspx

+2

धन्यवाद! ऐसा लगता है कि – Elsimer

+0

मुझे अच्छा लगता है कि आपने वहां क्या किया! ;-) –

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

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