मैं Symfony2 में एक परिवर्तन पासवर्ड सुविधा को एक साथ रखने की कोशिश कर रहा हूं। मेरे पास "वर्तमान पासवर्ड" फ़ील्ड, एक "नया पासवर्ड" फ़ील्ड और "नया पासवर्ड पुष्टि करें" फ़ील्ड है, और जिस भाग पर मैं वर्तमान में ध्यान केंद्रित कर रहा हूं वह "वर्तमान पासवर्ड" फ़ील्ड को मान्य कर रहा है।Symfony2 में एक पासवर्ड मान्य करना
(वैसे, मुझे अब एहसास है कि FOSUserBundle
जैसी चीजें मौजूद हैं जो मेरे लिए इनमें से बहुत सी चीजों का ख्याल रखती हैं, लेकिन मैंने पहले ही आधिकारिक सिम्फनी दस्तावेज के आधार पर अपनी प्रमाणीकरण प्रणाली बनाई है, और मेरे पास नहीं है समय अभी मेरे सारे प्रमाणीकरण कोड को फिर से करना)
क्या मैं कल्पना कर रहा हूँ/उम्मीद कर रहा क्या कर सकते हैं एक सत्यापन कॉलबैक कि कहते हैं बनाने है कुछ इस तरह:।
// Entity/User.php
public function currentPasswordIsValid(ExecutionContext $context)
{
$currentPassword = $whatever; // whatever the user submitted as their current password
$factory = $this->get('security.encoder_factory'); // Getting the factory this way doesn't work in this context.
$encoder = $factory->getEncoder($this);
$encryptedCurrentPassword = $encoder->encodePassword($this->getPassword(), $this->getSalt());
if ($encyptedCurrentPassword != $this->getPassword() {
$context->addViolation('Current password is not valid', array(), null);
}
}
आप मेरी टिप्पणी में देख सकते हैं , उपरोक्त कोड काम नहीं करता है, कम से कम दो कारण हैं। मैं केवल उन विशेष मुद्दों के बारे में विशिष्ट प्रश्न पोस्ट करूंगा, लेकिन शायद मैं गलत पेड़ को पूरी तरह से भौंक रहा हूं। यही कारण है कि मैं समग्र सवाल पूछ रहा हूं।
तो, मैं उपयोगकर्ता के पासवर्ड को कैसे सत्यापित कर सकता हूं?
ठीक है, धन्यवाद। लेकिन वास्तविक पासवर्ड सत्यापन भाग के बारे में क्या? यही मेरा सवाल पूछ रहा था। मुझे पहले से ही एक कस्टम सत्यापनकर्ता बनाने और फॉर्म फ़ील्ड बनाने का तरीका पता है। –
एक उदाहरण जोड़ा गया। –
बहुत बढ़िया, धन्यवाद। मै उसे करने की एक कोशिश तो करूंगा। –