2013-06-01 104 views
0

我只在Sentry Laravel 4中开始使用,我不确定我应该在哪写我的组权限。我已经阅读了哨兵文档,但解释看起来有些模糊。是否有任何Sentry用户可以将我指向正确的方向?Laravel:在哨兵中添加权限

+0

找到该文档。希望这可以帮助。 https://github.com/cartalyst/sentry/blob/master/docs/permissions/index.md – chintan

+0

我已经通过了Sentry文档,但我想知道“user.delete等”是一种方法?我应该在哪里将这些权限放在用户和组的表格中或Sentry捆绑包的“config/config.php”中?在视图中显示每个用户和组的权限是什么? – ally

回答

0

我还在自己找出Sentry的权限,但希望这个回复能帮助你走上正轨。我也希望我是在正确的轨道上! :)

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

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

groupsusers表中的permissions字段将取任何您授予的权限密钥。 Sentry不检查以确保这些密钥在保存时是合法的。这只是一个文本字段。

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

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

0

正如我所看到的哨兵配置文件,我发现一些想法如何使用权限。您需要在sentry/config/sentry.php文件中定义权限。这里是简单的演示。

'rules' => array(
    /** 
    * config samples. 
    * 
    * 'application::[email protected]', 
    * 'user::[email protected]', 
    * 'user::[email protected]', 
    * 'blog::[email protected]', 
    * 'my_custom_rule', 
    * 'is_admin', 
    */ 
    'is_admin', 
    'superuser', 
    'can_edit', 
    'can_delete' 
) 

我加入can_editcan_delete许可,它现在的工作。

0

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

似乎很多人与包括我在内的哨兵的许可部分斗争。此外,检查出this SO thread,它看起来像是这个问题的重复,还有更多的信息。