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');
次のアクセス制御が必要です。
view-staffs のマイ メニューのリンク: すべてのスタッフ権限が無効になっている場合は、リンクを無効にします。これは私がやっている方法です:
if($user->hasAnyAccess(array('Staffs|View staff details', 'Staffs|Register new staff', 'Staffs|Edit staff details', 'Staffs|Delete staff details'))) { //display menu link }
my routes: すべてのスタッフ権限が無効になっている場合、「staff/」に該当するすべてのルートを無効にします
//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)