我才开始在 Sentry Laravel 4 中使用,我不确定我应该在哪里写我的组权限。我已经浏览了 Sentry 文档,但解释似乎有点含糊。是否有任何 Sentry 用户可以为我指明正确的方向?
3 回答
有一个不错的 Laravel starter with Sentry2 ,它通过检查它的实现方式帮助我解释了它是如何工作的。在这里用哨兵检查l4。
似乎很多人都在为哨兵的许可部分而苦苦挣扎,包括我自己。另外,查看这个 SO thread,它看起来像是这个问题的副本,还有关于那个问题的更多信息。
正如我看到的哨兵配置文件,我发现了一些关于如何使用权限的想法。您需要在sentry/config/sentry.php
文件中定义权限。这里是简单的演示。
'rules' => array(
/**
* config samples.
*
* 'application::admin@dashboard',
* 'user::admin@create',
* 'user::admin@read',
* 'blog::admin@delete',
* 'my_custom_rule',
* 'is_admin',
*/
'is_admin',
'superuser',
'can_edit',
'can_delete'
)
我添加了can_edit
许可can_delete
,它现在正在工作。
我自己仍在弄清楚 Sentry 权限,但希望此回复有助于您走上正轨。我也希望我走在正确的轨道上!:)
以下是一个(显然)未说明的事实,让我感到困惑最长。一旦我意识到这一点,其余的就开始有意义了:
Sentry 不维护,甚至不需要预先定义的权限列表。
和表中的permissions
字段将采用您提供的任何权限键。Sentry 不会检查以确保这些密钥在保存时是合法的。它只是一个文本字段。groups
users
如果您想要/需要一个明确的可管理权限列表,一种选择是permissions
在数据库中创建您自己的表。
管理此权限表可能还需要创建您自己的模型和管理视图,因为这仍然与 Sentry 分开。至于将权限应用于组和用户,您可以使用此表在“创建/编辑用户”和“创建/编辑组”页面上填充可选权限列表。