मैं RedBean ORM (http://redbeanphp.com) का उपयोग करने UserInterface और Silex सुरक्षा प्रदाता पैकेज की UserProviderInterface को लागू करने की कोशिश कर रहा है याद रखें।Silex/Symfony2 मेरे प्रमाणीकरण उपयोगकर्ता इंटरफ़ेस RedBean आवरण
रेडबीन ओआरएम अपनी वस्तुओं के लिए काम करता है जिस तरह से, मुझे बीन ऑब्जेक्ट को किसी अन्य वर्ग में लपेटने की आवश्यकता है।
यह प्रमाणीकरण के लिए बहुत अच्छा काम करता है, लेकिन मुझे याद रखें कार्यक्षमता के लिए परीक्षण विफल रहता है।
मैंने देखा कि चेन के साथ कहीं भी सुरक्षा पैकेज ऑब्जेक्ट को क्रमबद्ध करता है।
मैंने सोचा कि शायद यह त्रुटि का कारण था, इसलिए मैंने अपने रैपर वर्ग में "आईडी" और "पासवर्ड" के लिए गुण बनाए और नींद के दौरान बीन को अनदेखा करने और इसे जागने पर पुनः लोड करने के लिए __sleep और __wakeup विधियों का उपयोग किया। __wakeup के दौरान ठीक से लोड होने वाली हर चीज के बावजूद "मुझे याद रखें" कार्यक्षमता के लिए परीक्षण अभी भी विफल रहा है।
मैंने अपने कोड का एक जिथब रिपोजिटरी बनाई है। अगर किसी के पास कोई विचार है, तो मैं इसकी बहुत सराहना करता हूं!
किसी कारण से रेडबीन, सिलेक्स और PHPUnit खुद को भंडार में शामिल करने की अनुमति नहीं दे रहे हैं। एक साधारण संगीतकार अद्यतन उन्हें आपके लिए नीचे खींचना चाहिए। अगर किसी के पास कोई विचार है, तो मैं इसके जवाब के लिए भी सराहना करता हूं।
GitHub भंडार में पाया जा सकता:
https://github.com/christianmagill/silex-redbean-security
लागू फ़ाइलें
हैं डेटाबेस में परीक्षण उपयोगकर्ता बनाने के लिए:
/setup.php
/index.php
UserInterface मेरे कार्यान्वयन:परीक्षण चलाने के लिए
/src/App/Model/UserSecurityWrapper.php
UserProviderInterface मेरे कार्यान्वयन:
/src/App/Model/UserProvider.php
मेरे संशोधित टेस्ट:
/src/App/Test/RememberMeRedBeanServiceProviderTest.php
मूल परीक्षण:
/विक्रेता/SILEX/SILEX/परीक्षण/Silex/टेस्ट/प्रदाता/RememberMeServiceProviderTest.php