例如,我向控制器中当前经过身份验证的用户授予新角色,如下所示:
$em = $this->getDoctrine()->getManager();
$loggedInUser = $this->get('security.context')->getToken()->getUser();
$loggedInUser->addRole('ROLE_XYZ');
$em->persist($loggedInUser);
$em->flush();
Run Code Online (Sandbox Code Playgroud)
在下一页加载时,当我再次获取经过身份验证的用户时:
$loggedInUser = $this->get('security.context')->getToken()->getUser();
Run Code Online (Sandbox Code Playgroud)
他们没有被授予这个角色.我猜这是因为用户存储在会话中需要刷新.
我该怎么做呢?
如果有所作为,我正在使用FOSUserBundle.
我已经创建了一个自定义的SwiftMailer插件,我想在我的Symfony 2.3应用程序中默认使用SwiftMailer.我在这方面可以找到的唯一文档是:http://symfony.com/doc/current/reference/dic_tags.html#swiftmailer-plugin
我已按如下方式设置服务:
acme_test_bundle.swiftmailer.embed_images:
class: Acme\TestBundle\SwiftMailer\Plugins\ImageEmbedPlugin
tags:
- { name: swiftmailer.plugin }
Run Code Online (Sandbox Code Playgroud)
即使已经创建了此服务,SwiftMailer也没有使用该插件.我做错了什么,还有什么我应该做的吗?