2009-01-09 17 views
10

क्या सदस्यता उपयोगकर्ता के कॉल द्वारा स्वचालित रूप से जेनरेट किए गए पासवर्ड के प्रारूप को नियंत्रित करना संभव है। रीसेट पासवर्ड()?मैं सदस्य सदस्यता उपयोगकर्ता को कैसे नियंत्रित करूं। रीसेट पासवर्ड()

मैं जेनरेट किए गए पासवर्ड में कुछ विशेष वर्णों को अनुमति देने या अनुमति देने में सक्षम होना चाहता हूं।

मैं हैशड के पासवर्ड प्रारूप के साथ SqlMembershipProvider का उपयोग कर रहा हूं।

धन्यवाद।

+0

आपको विशेष वर्ण सीमित करने के लिए क्यों चाहते हो? इसके लिए लगभग कोई रक्षात्मक कारण नहीं है और बहुत उपयोगकर्ता असभ्य है। –

+1

@ जॉन शीहान: दूसरी तरफ, मुझे उपयोगकर्ताओं से शिकायतें मिली हैं कि जेनरेट किए गए पासवर्ड में वे वर्ण हैं जो 'ढूंढना मुश्किल' हैं। खोजने के लिए एक (गैर प्रोग्रामर) उपयोगकर्ता को बताने का प्रयास करें या कीबोर्ड पर ~ कुंजी। हार्ड-टू-टाइप वर्णों को खत्म करना उपयोगकर्ता के अनुकूल कदम माना जा सकता है। बेशक, आप पासवर्ड को कॉपी-पेस्ट करने के लिए उपयोगकर्ता को बता सकते हैं, लेकिन मैंने इसके साथ प्रतिरोध भी पूरा कर लिया है। –

+0

आप सुरक्षित पासवर्ड का उपयोग करने में आसान बना सकते हैं, लेकिन आपको सीमित नहीं करना चाहिए कि लोग क्या उपयोग कर सकते हैं। –

उत्तर

1

इस आलेख को देखें - Changing the autogenerated password format in the SqlMembershipProvider

मैं एक त्वरित तरीका कम जटिल पासवर्ड उत्पन्न करने के लिए SqlMembershipProvider हैक करने के साथ आया था, और यह एक नए प्रदाता वर्ग कि SqlMembershipProvider से विरासत बनाने, तो GeneratePassword विधि अधिभावी के रूप में सरल था।

यह एक पूरी तरह हल समाधान नहीं है लेकिन इससे मदद मिल सकती है।

0

मैं उम्मीद कर रहा था कि कुछ कॉन्फ़िगरेशन सेटिंग का उपयोग किया जा सकता है लेकिन जेनरेट पासवर्ड() विधि मेरी स्थिति के लिए काम करता है।

हमारे पास पहले से ही एक क्रिप्टो उपयोगिता कक्षा थी जो यादृच्छिक पासवर्ड तार उत्पन्न करेगी, इसलिए यह एक बहुत तेज़ परिवर्तन था।

19

आप के रूप में मार्क Fitzpatrick यहां से पहचान दो चरणों में यह करने के लिए, कर सकते हैं: http://bytes.com/groups/net-asp/689452-how-reset-users-password-without-having-use-passwordrecovery#post2740740

प्रथम पासवर्ड रीसेट करें, तो तुरंत अपनी पसंद का एक प्रारूप में बदलें। स्पष्ट रूप से एक निश्चित स्ट्रिंग का उपयोग करके मार्क के उदाहरण में अनुशंसित नहीं किया जाएगा - आप some random string generator को कार्यान्वित करना चाहते हैं।

user.ChangePassword(user.ResetPassword(), MyMethodToGenerateRandomPassword()); 
+1

मुझे इसका समाधान पसंद है। मैंने डेविड हैस्ट के समाधान की कोशिश की, लेकिन जब सदस्यता User.ResetPassword() को कॉल किया जाता है, तो यह मुझे अभी भी मेगा-क्रिप्टो पासवर्ड देगा। – sshow

+3

+1: यह जवाब होना चाहिए। – naveen

2

आज आप भी Membership.GeneratePassword विधि का उपयोग करें और एक MinRequiredPasswordLength पास या संपत्ति पहले से ही इस तरह Web.config में परिभाषित का उपयोग कर सकते हैं:

var newPassword = 
        // 0 = Number of non alphanumeric characters 
        Membership.GeneratePassword(Membership.MinRequiredPasswordLength, 0); 

    user.ChangePassword(user.ResetPassword(), newPassword); 
संबंधित मुद्दे