我有一个Laravel 5.4项目,我使用Laratrust来获取用户角色和权限 . 创建全局范围角色(即:admin)时,用法很明确,但我应该如何处理基于资源的权限?

假设我有多个预算 . 每个用户可以拥有他们喜欢的预算,他们可以编辑自己的预算 . 他们还可以为其他用户授予对其预算的访问权限 .

Shoud我只创建单独的角色和权限,例如: budget-123-owner 表示具有此角色的用户是预算ID 123的所有者, budget-123-read 表示具有此权限的用户可以查看但不能编辑预算ID 123?这是一个好方法还是我应该采用不同的方法?什么是最佳做法?