如何使用sentry限制对laravel中删除的访问

如何使用sentry限制对laravel中删除的访问,laravel,cartalyst-sentry,Laravel,Cartalyst Sentry,使用拉威尔4号和哨兵。我有一个CRUD管理系统,经理和管理员可以访问。我希望经理能够访问除删除之外的所有CRUD操作。我知道我可以添加一行,例如 @if (Sentry::check()) 在我看来,确保用户已登录,但不知道如何检查他们是否是管理员 我有下面的过滤器 Route::filter('auth.admin', function() { $user = Sentry::getUser(); $admin = Sentry::findGroupByName('Admins'); i

使用拉威尔4号和哨兵。我有一个CRUD管理系统,经理和管理员可以访问。我希望经理能够访问除删除之外的所有CRUD操作。我知道我可以添加一行,例如

@if (Sentry::check())
在我看来,确保用户已登录,但不知道如何检查他们是否是管理员

我有下面的过滤器

Route::filter('auth.admin', function()
{

$user = Sentry::getUser();
$admin = Sentry::findGroupByName('Admins');

if (!$user->inGroup($admin)) return Redirect::to('admin/login');
});
简易方法:

if (Sentry::getUser()->isSuperUser())

// or
if (Sentry::hasPermission('superuser')) // or admin or whatever permission you want
或无条件地:

if (Sentry::hasPermission('delete'))

你是个明星。我更新了组表的种子设定,这样我就有了一个超级用户,可以使用前两个选项。Sentry::getGroupProvider()->创建(数组('name'=>'Users','permissions'=>array('admin'=>0,'Users'=>1,'superuser'=>0,));Sentry::getGroupProvider()->创建(数组('name'=>'Admins','permissions'=>array('admin'=>1,'users'=>1,'superuser'=>1,));