【问题标题】:Dynamically add new roles to Symfony2 users为 Symfony2 用户动态添加新角色
【发布时间】:2013-11-11 15:28:40
【问题描述】:

是否可以使用 Symfony2 手动更新用户角色?

在我的应用程序中,用户可以处理许多公司。对于他们每个人,他们都有不同的角色。

在登录时,我想给他们默认公司的角色,当他们切换公司时,我想删除以前的角色并添加新公司的角色。

【问题讨论】:

标签: symfony roles


【解决方案1】:

是的,这是可能的。但我不建议您在公司交换机上动态删除和添加角色,因为这可能会导致安全问题。如果您想使用基本角色系统,您可以创建以公司名称为前缀的角色(如果您有很多公司,这是一个坏主意)。或者升级您的安全上下文以使用ACLs。也许最简单的解决方案是为每个公司创建一个具有相同凭据(如果您管理用户切换,则没有凭据)和不同角色的用户。

据我所知,您应该考虑开发自己的角色系统来满足您的多公司要求。

【讨论】:

  • 我不喜欢 ACL 的地方是它们在每个操作的代码中都被检查。角色在安全配置文件中设置,因此可以轻松检查和维护。就我而言,我只需要为每个用户公司元组提供一些简单的角色(即:COMPANY_ADMIN_ROLE、COMPANY_EMPLOYE_ROLE、COMPANY_SUPPLIER_ROLE 和 COMPANY_CLIENT_ROLE)。
猜你喜欢
  • 2012-02-11
  • 2013-12-05
  • 1970-01-01
  • 2014-07-16
  • 2014-02-26
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 2012-11-30
相关资源
最近更新 更多