gpt4 book ai didi

php - symfony 在何处以及如何存储用户角色

转载 作者:行者123 更新时间:2023-12-03 02:20:58 31 4
gpt4 key购买 nike

大家好,我正在尝试理解 symfony 中有关用户和用户角色的逻辑及其工作原理。我是 symfony 的新手,我遵循本教程: http://symfony.com/doc/current/security/entity_provider.html

在我的项目中一切都很完美,但是当我查看数据库时,我有user表和我注册的所有用户,就像表中的数据一样。

但是用户角色表在哪里? symfony 如何知道谁是 ROLE_ADMIN 和谁是 ROLE_MODERATOR。如何对所有具有特定角色的用户实现并将该角色保存在数据库中,以便稍后我可以从某个管理面板更改它?ACL 或许?

最佳答案

Symfony 不负责存储您的角色。如果您需要通过管理控制台来管理它们,则必须存储它们。

您的 User 实体实现的 Symfony\Component\Security\Core\User\UserInterface 接口(interface)包含一个方法名称 getRoles,该方法应返回一个 String 数组 代表用户角色或 Symfony\Component\Security\Core\Role\RoleInterface 数组。因此,您可以在项目中创建一个名为 Role 的实体,该实体实现 Symfony\Component\Security\Core\Role\RoleInterface。然后将该实体链接到您的 User 实体,引发 ManyToMany 关联。最后实现 getRoles 方法,该方法应返回给定用户的角色。

然后,您可以像项目中的任何其他实体一样管理您的角色。

关于php - symfony 在何处以及如何存储用户角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39879862/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com