相关疑难解决方法(0)

Symfony2:如何在使用FOSUserBundle时在控制器内获取用户对象?

我正在使用FOSUserBundle来验证我的用户.

我正在尝试获取Controller内的用户对象来注册一个行程,我应该在保存之前将用户对象添加到此Trip.

我没有找到如何做到这一点因为我在symfony doc中找到它的下一个方法:

$user = $this->container->get('security.context')->getToken()->getUser();
Run Code Online (Sandbox Code Playgroud)

将用户名呈现为字符串,但我需要整个对象.

目前,我使用此方法,但它无法正常工作.

$username = $this->container->get('security.context')->getToken()->getUser();
$em = $this->container->get('doctrine')->getEntityManager();
$user = $em->getRepository('SiteUtilisateurBundle:Utilisateur')->find($username);
Run Code Online (Sandbox Code Playgroud)

我怎样才能正确地做到这一点?

symfony fosuserbundle

36
推荐指数
3
解决办法
7万
查看次数

如何从eventlistener获取从AJAX调用的userid

我正在使用symfony2和FOSUserBundle.

通常,我可以从Controller获取用户数据

$user = $this->get('security.context')->getToken()->getUser();
Run Code Online (Sandbox Code Playgroud)

要么

$user = $this->container->get('security.context')->getToken()->getUser(); 
Run Code Online (Sandbox Code Playgroud)

但是现在,我想从eventlistner获取从Ajax调用的userdata.

可能吗?或不?

我的来源在这里.

    namespace Acme\MemberBundle\EventListener;

    use ADesigns\CalendarBundle\Event\CalendarEvent;
    use ADesigns\CalendarBundle\Entity\EventEntity;
    use Doctrine\ORM\EntityManager;

    class CalendarEventListener
    {
        private $entityManager;

        public function __construct(EntityManager $entityManager)
        {
            $this->entityManager = $entityManager;
        }

        public function loadEvents(CalendarEvent $calendarEvent)
        {
            $startDate = $calendarEvent->getStartDatetime();
            $endDate = $calendarEvent->getEndDatetime();


           $user = $this->container->get('security.context')->getToken()->getUser();//it doesnt work

            // load events using your custom logic here,
            // for instance, retrieving events from a repository

            $companyEvents = $this->entityManager->getRepository('UserBundle:MutorSche')
                    ->createQueryBuilder('company_events')
                    ->where('company_events.event_datetime BETWEEN :startDate and :endDate')
                    ->setParameter('startDate', $startDate->format('Y-m-d H:i:s'))
                    ->setParameter('endDate', $endDate->format('Y-m-d …
Run Code Online (Sandbox Code Playgroud)

symfony fosuserbundle

8
推荐指数
3
解决办法
1万
查看次数

Symfony 2:获取控制器之外的安全上下文

我正在尝试编写一个需要访问用户权限级别的事件监听器.在控制器中,我使用以下代码

码:

$securityContext = $this->container->get('security.context');

if($securityContext->isGranted('ROLE_USER')){
    //Do Something
}
Run Code Online (Sandbox Code Playgroud)

但是在控制器之外我无法弄清楚如何获得安全上下文.可能吗?

php symfony

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

symfony ×3

fosuserbundle ×2

php ×1