में मैं FOSuserbundle उपयोग कर रहा हूँ उपयोगकर्ता पंजीकरण https://github.com/FriendsOfSymfony/FOSUserBundleएक्सेस करना लॉग इन हुए प्रयोक्ता एक टेम्पलेट
मैं गया यह/दर्ज की गया है अंदर और बाहर प्रवेश करने के साथ आरंभ करने के लिए। मैं अब क्या करना चाहता हूं उपयोगकर्ताओं के डेटा में लॉग इन करें और इसे मेरी साइट के प्रत्येक पृष्ठ पर प्रस्तुत करें। शीर्षलेख प्रकार में "हाय उपयोगकर्ता नाम" की तरह।
यह मेरी एप्लिकेशन/संसाधन/विचारों/base.html.twig में एक नियंत्रक embedding की तरह लगता है इस http://symfony.com/doc/current/book/templating.html#embedding-controllers
तो मैं उपयोगकर्ता प्रोफ़ाइल डेटा का उपयोग करने के लिए अपने नियंत्रक लिखा करने का सबसे अच्छा तरीका है। मैं यह नहीं समझ सकता कि मेरे एम्बेडेड नियंत्रक में एफओएस विधियों का उपयोग कैसे किया जाए। तो मेरी एक्मे/UserBundle/नियंत्रक/UserController.php मैं ऐसा करना चाहते हैं:
public function showAction()
{
$user = $this->container->get('security.context')->getToken()->getUser();
if (!is_object($user) || !$user instanceof UserInterface) {
throw new AccessDeniedException(
'This user does not have access to this section.');
}
return $this->container->get('templating')
->renderResponse('FOSUserBundle:Profile:show.html.'.$this->container
->getParameter('fos_user.template.engine'), array('user' => $user));
}
जो मैं से पकड़ा: विक्रेता/बंडलों/FOS/UserBundle/नियंत्रक/ProfileController.php
धन्यवाद। मैंने वास्तव में "IS_AUTHENTICATED_REMEMBERED" के लिए "ROLE" बदल दिया और यह बहुत अच्छा काम किया। – ed209
मैं FOSuserbundle का उपयोग नहीं कर रहा हूं (जब तक यह अब नहीं आता है) लेकिन 'app.user.username' अभी भी मेरे लिए काम करता है। किसी के लिए जानना उपयोगी हो सकता है। –
धन्यवाद! यह दस्तावेज़ीकरण में बहुत स्पष्ट होना चाहिए। –