我正在使用 laravel 4 开发一个站点,并尝试使用 Sentry 2 实现我的 ACL。我需要有关如何构建以下内容的帮助:
我对角色 HR 具有以下权限:
Staffs|View staff details
Staffs|Register new staff
Staffs|Edit staff details
Staffs|Delete staff details
对应以下路线:
//get route to staffs landing page
Route::get('staffs/view-staffs', 'UsersController@getManageStaffs');
//post routes
Route::post('staffs/add-staff', 'UsersController@postAddStaff');
Route::post('staffs/update-staff', 'UsersController@postUpdateStaff');
Route::post('staffs/delete-staff', 'UsersController@postDeleteStaff');
我需要对以下内容进行访问控制:
我的查看员工菜单上的链接:如果所有员工权限都被禁用,请禁用链接。这就是我的做法:
if($user->hasAnyAccess(array('Staffs|View staff details', 'Staffs|Register new staff', 'Staffs|Edit staff details', 'Staffs|Delete staff details'))) { //display menu link }
我的路线:如果所有员工权限都被禁用,则禁用“员工/”下的所有路线
//For this, i have no idea how to restrict routes based on my permissions //But i don't want to do it like i did in (1) within my controllers
禁用与禁用权限对应的操作按钮
//same as no (1)