对用户以外的对象使用权限/授权检查方案?

时间:2014-08-05 14:54:02

标签: symfony

我对此有点新鲜,而且我还没有找到一个很好的方法来完成这项工作。

假设我的用户是1家公司的员工。该员工可能决定将其公司的股票出售给股票市场。

显然我们需要检查2个权限:

  1. 该员工是否有权将股票放入股票市场?

  2. 该公司的股票是否被授权进入股市?

  3. 第一项检查很简单,我们只需使用选民或ACL即可。第二次检查是我想要弄清楚的,因为到目前为止,在我阅读的所有文档中,角色/权限仅与用户相关联,而不是与任意对象(在这种情况下为公司)

1 个答案:

答案 0 :(得分:0)

为什么不:

/**
 * @ORM\Table(name="company")
 * @ORM\Entity(")
 */
class Company
{
...
    /**
     * @ORM\Column(name="sellable", type="boolean", nullable=true)
     */
    private $sellable;
...
}

然后像:

if ($user->hasRightToSell() && $company->isSellable())