2012-01-15 12 views
5

के साथ आराम के माध्यम से प्रमाणीकरण मैं symfony2 के साथ नया हूं और मैं एक अतिरिक्त एपीआई के माध्यम से FOSUserBundle से कनेक्ट करने का प्रयास कर रहा हूं। वेब ब्राउज़र प्रमाणीकरण ठीक काम कर रहा है और मैं उपयोगकर्ताओं को FOSUserBundle के साथ बना सकता हूं। वास्तव में मैं सिम्फनी के साथ एक webservice बनाना चाहता हूँ। मैं उपयोगकर्ता को आराम से कैसे जोड़ सकता हूं? क्या यह सिम्फनी 2 के साथ आसानी से आराम करने के लिए एक बंडल है?symfony2

धन्यवाद।

+2

का उपयोग कर सुझाव है कि आप [FOSRestBundle] (https://github.com/FriendsOfSymfony/FOSRestBundle) पर एक नजर है चाहिए। –

उत्तर

0

उपयोगकर्ता को प्रमाणीकृत करने के लिए, पहले आप एक ऐसी क्रिया बनाते हैं जो उपयोगकर्ता नाम और पासवर्ड ले लेगा। फिर उपयोगकर्ता नाम और पासवर्ड के अनुसार डेटाबेस से उपयोगकर्ता को खोजें। डेटाबेस में पास करने के लिए आपको पासवर्ड बनाना होगा क्योंकि FOSUserBundle इसे बना रहा है। बाद में आपको UsernamePasswordToken बनाने की आवश्यकता है। इसके लिए आप कार्रवाई में निम्नलिखित कोड का उपयोग कर सकते हैं

$providerKey = $this->container->getParameter('fos_user.firewall_name'); 
$token = new UsernamePasswordToken($user, null, $providerKey, $user->getRoles()); 
$this->container->get('security.context')->setToken($token); 

मुझे लगता है कि यह आपकी मदद करेगा।

+4

यह गलत जवाब है। लॉग इन उपयोगकर्ता को बनाए रखने के लिए कुकीज़ का उपयोग न करने के लिए आरईएसटी एपीआई में कस्टम प्रमाणीकरण प्रदाता होना चाहिए। यह एक अच्छा लेख है कि यह कैसे करें। http://symfony.com/doc/2.0/cookbook/security/custom_authentication_provider.html –

1

मैं प्राधिकरण विधि के रूप में "Wsse" का उपयोग करने का सुझाव दूंगा।

आप इसके बारे में this post पर पढ़ सकते हैं। यहां तक ​​कि a bundle है जो wsse routines प्रदान करता है।

बारे REST-ful अपने अनुप्रयोग बनाने के लिए, मैं FosRestBundle