Php Laravel:哨兵权限无法正常工作
我在我的哨兵播种机中有以下内容:Php Laravel:哨兵权限无法正常工作,php,laravel,laravel-4,cartalyst-sentry,Php,Laravel,Laravel 4,Cartalyst Sentry,我在我的哨兵播种机中有以下内容: <?php use App\Models\User; class SentrySeeder extends Seeder { public function run() { DB::table('users')->delete(); DB::table('groups')->delete(); DB::table('users_groups')->delete();
<?php
use App\Models\User;
class SentrySeeder extends Seeder {
public function run()
{
DB::table('users')->delete();
DB::table('groups')->delete();
DB::table('users_groups')->delete();
Sentry::getUserProvider()->create(array(
'email' => 'admin@admin.com',
'password' => "admin@admin.com",
'first_name' => 'Kamran',
'last_name' => 'Ahmed',
'activated' => 1,
));
Sentry::getUserProvider()->create(array(
'email' => 'user@user.com',
'password' => "user@user.com",
'first_name' => 'New',
'last_name' => 'User',
'activated' => 1,
));
Sentry::getGroupProvider()->create(array(
'name' => 'Admin',
'permissions' => array(
'blog' => 1
),
));
Sentry::getGroupProvider()->create(array(
'name' => 'Blogger',
'permissions' => array(
'blog.add' => 1,
'blog.update' => 1,
'blog.trash' => 1,
'blog.remove' => 1
),
));
// Assign user permissions
$adminUser = Sentry::getUserProvider()->findByLogin('admin@admin.com');
$adminGroup = Sentry::getGroupProvider()->findByName('Admin');
$normalUser = Sentry::getUserProvider()->findByLogin('user@user.com');
$normalGroup = Sentry::getGroupProvider()->findByName('Blogger');
$adminUser->addGroup($adminGroup);
}
}
现在,当我使用admin@admin.com,它可以正常工作,即删除按钮按预期显示,因为管理员具有访问博客的权限。但是,当我使用user@user.com,按钮未显示。虽然我已将blog.remove的权限分配给了,但按钮未显示的原因是什么user@user.com. 我还做了一个var_转储。。返回值为false。谁能告诉我我的实现有什么问题吗?为什么没有显示该设备的“删除”按钮user@user.com用户?在播种机中,您没有将用户分配到blogger组
看看你的种子,你只需要在管理员组中添加一个用户,而不是博客组。
@if (Sentry::getUser()->hasAnyAccess(array('blog', 'blog.remove')))
<a class="btn btn-danger" href="{{URL::to('post/delete/' . $post->id)}}">Delete Permanently</a>
@endif
$normalUser->addGroup($normalGroup);