Laravel:在哨兵中添加权限

时间:2013-06-01 10:40:22

标签: php laravel cartalyst-sentry

我刚刚开始在Sentry Laravel 4中使用,我不确定我应该在哪里编写我的组权限。我已经通过了Sentry文档,但解释似乎有点模糊。是否有任何Sentry用户可以指出我正确的方向?

3 个答案:

答案 0 :(得分:0)

我自己仍然在考虑Sentry权限,但希望这个回复可以帮助您走上正确的道路。我也希望走在正确的轨道上! :)

以下是一个(显然)未说明的事实,让我困惑的时间最长。一旦我意识到这一点,其余的就开始变得有意义了:

Sentry不会维护甚至要求预先定义的权限列表。

permissionsgroups表中的users字段将采用您提供的任何权限密钥。 Sentry不会检查以确保这些密钥在保存后是合法的。这只是一个文本字段。

如果您需要/需要一个可管理权限的明确列表,一个选项是在数据库中创建自己的permissions表。

管理此权限表可能还需要创建自己的模型和管理员视图,因为这仍然与Sentry分开。至于将权限应用于组和用户,您可以使用此表填充“创建/编辑用户”和“创建/编辑组”页面上的可选权限列表。

答案 1 :(得分:0)

正如我已经看到Sentry配置文件,我发现了一些如何使用权限的想法。您需要在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_editcan_delete权限,现在正在使用。

答案 2 :(得分:0)

有一个体面的Laravel启动器和Sentry2,它通过检查它是如何实现帮助我解释它是如何工作的。在这里查看l4 with sentry

似乎很多人都在与哨兵的许可部分斗争,包括我自己。另外,请查看this SO thread,它看起来像是这个问题的副本,还有更多信息。