- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 FOS User Bundle 来管理对我的应用程序的访问。因为我需要一个群体概念,所以我已经按照文档 group 中的描述实现了我需要的东西.
创建用户和组时一切正常,但是当我以用户身份登录并尝试获取他的角色时,他只有 USER_ROLE。
这是我的用户
use FOS\UserBundle\Entity\User as BaseUser;
class RegistredUser extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="myBundle\Entity\RegistredUserGroup")
*/
protected $group;
[...]
}
这是我的小组类(class)
use FOS\UserBundle\Entity\Group as BaseGroup;
class RegistredUserGroup extends BaseGroup
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
[...]
}
我的用户没有在 RegistredUser 表中设置任何角色,但设置了 groupId。该组具有 ROLE_ADMIN 角色。
在我的布局中,我尝试这样检查角色:
{% if is_granted('ROLE_ADMIN') %}
<dl class="menuIcon">
<dd><img src="{{ asset('bundles/bundle/images/user.png') }}" alt=""></dd>
<dd>{{ "menu.gererReferentiel"|trans }}</dd>
</dl>
{% endif %}
但 Symfony 不显示任何内容。
我是否使用了错误的功能来检查群组角色?还是我做错了什么?
一个解决方案是通过
获取groups_role{% if app.user != null and app.user.group.hasRole('ROLE_ADMIN') %}
但是还有其他方法吗?
最佳答案
FOSUserBundle allows you to associate groups to your users. Groups are a way to group a collection of roles. The roles of a group will be granted to all users belonging to it.
来自 Using Groups With FOSUserBundle
在你的情况下你不应该检查
app.user.group.hasRole('ROLE_ADMIN')
如果一个用户有一个角色为admin的组,但是检查当前用户是否是某个组的成员,例如
app.user.hasGroup('ADMIN')
关于php - Symfony 2 FOS UserBundle 用户没有获得组的角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12056583/
我将 FOS UserBundle 与 Sonata Admin/UserBundle 一起使用,我不想显示 FOSUserBundle 用户配置文件信息。 我可以访问 localhost/MyWeb
我回来了关于我的 UserBundle 的另一个问题: 通过 Symfony2 安装和配置 FOS 包时,一切都很完美,它甚至让我创建了 2 个正确插入到我的数据库中的用户。 但是,每次我尝试登录这些
这是我第一次自己使用 Symfony2,我想我在配置 FOS User Bundle 时犯了一个错误。看起来我的用户实体没有正确扩展 FOS\UserBundle\Entity\User。 这是我的
我正在尝试扩展 FOS UserBundle 以允许扩展配置文件实体保存除基本 UserBundle 字段之外的其他信息。因为我在站点上有多种类型的用户,所以我创建了单独的实体来保存个人资料信息。我将
我是 FriendsOfSymfony UserBundle 的新手,一切都很顺利,直到我尝试让用户注销。登录工作完美,我正在使用我在许多站点上看到的基本配置。我只有 2 个用户需要登录。当用户单击注
我正在尝试创建一个 Controller ,我可以在其中编辑用户的角色(仅此而已,仅此而已),但我陷入了困境。 我创建了一个表单类型: public function buildForm(FormBu
我想覆盖 FOS Userbundle 的默认注册表单并向密码输入添加自定义类。因此,我将 register.html.twig 和 register_content.html.twig 复制到适当的
大家好,我在做一个 symfony2 和 mongodb 项目..我最近安装了 Fos UserBundle,我需要自定义登录策略:事实上,我希望用户只输入一个 pin 码来连接到我的Web 应用程序
我已经安装了 FOSUserBundle我想将 url 自定义为 /account/login、/account/register、/account/logout 而不是 /登录, /register
我正在尝试从 FOS 为 symfony 2 设置 UserBundle。创建新用户时,出现未配置编码器的异常。 如果我像这样设置编码器: fos_user: db_driver: orm
我正在尝试使用 AJAX 注册用户。 我在 FOSUserEvents::REGISTRATION_SUCCESS 上创建了一个事件监听器 所以我想知道是否已经发出了 AJAX 请求,但我的客户端的响
我们目前使用 Symfony 2 和 FOS/UserBundle 进行用户身份验证。 我想在不登录的情况下检查给定的用户名/密码组合是否有效。这是因为另一个人当前已登录,但例如需要执行特定操作,而该
我正在使用 Symfony2 构建一个站点,它将是一个白标签类型的站点,其中多个域映射到同一服务器。因此,coolsite.customer1.com 和 aservice.customer2.com
我遇到了错误 Call to undefined function FOS\UserBundle\Util\mb_convert_case() app_path/vendor/bundles/FOS/
在我的 Symfony2 应用程序中,我收到一个错误: Fatal error: Call to undefined function FOS\UserBundle\Util\mb_convert_c
我正在使用 FOS User Bundle 来管理对我的应用程序的访问。因为我需要一个群体概念,所以我已经按照文档 group 中的描述实现了我需要的东西. 创建用户和组时一切正常,但是当我以用户身份
我正在尝试通过 facebook 或 symfony2 上的 userbundle 验证我的用户 这是我到目前为止所做的(虽然不是我想要的,但它确实有效): firewalls: main:
全新安装 symfony 4.4,然后是 symfony flex 和一些常见配方,然后我试图设置 fos userbundle,我遇到了这个问题,我无法解决。 Argument 3 passed t
(在 Windows 10 上使用 WampServer。) 我按照官方文档在 Symfony 上安装 Sonata User Bundle。 我收到以下错误消息 (1/1) ClassNotFoun
我正在为我的 User 实体创建自定义实体提供程序。但是当我在登录表单中输入用户名和密码时,我得到了这个异常: There is no user provider for user "Ibw\User
我是一名优秀的程序员,十分优秀!