2017-06-20 16 views
1

Laravel 5.2で動作するアプリケーションでEntrust ACLを使用しようとしています。私はEntrustのGitHubページの指示に従ってパッケージをインストールし、すべてうまくいった。私はこれは私のRoleControllerLaravelでのルートとEntrustの操作5.2

class RoleController extends Controller 
{ 
    /** 
    * Display a listing of the resource. 
    * 
    * @return \Illuminate\Http\Response 
    */ 
    public function index(Request $request) 
    { 
     $roles = Role::orderBy('id','DESC')->paginate(5); 
     return view('backend.roles.index',compact('roles'))->with('i', ($request->input('page', 1) - 1) * 5); 
    } 

    /** 
    * Show the form for creating a new resource. 
    * 
    * @return \Illuminate\Http\Response 
    */ 
    public function create() 
    { 
     $permission = Permission::get(); 
     return view('backend.roles.create',compact('permission')); 
    } 
} 

ビューファイルである私のroutes.phpの中で

Route::group(['namespace' => 'Backend', 'prefix' => 'admin', 'middleware' => ['auth']], function() { 

    Route::get('roles',['as'=>'roles','uses'=>'[email protected]','middleware' => ['permission:role-list|role-create|role-edit|role-delete']])->name('admin.roles'); 
    Route::get('roles/create',['as'=>'roles.create','uses'=>'[email protected]','middleware' => ['permission:role-create']])->name('admin.roles.create'); 
    Route::post('roles/create',['as'=>'roles.store','uses'=>'[email protected]','middleware' => ['permission:role-create']])->name('admin.roles.create'); 
}); 

をこのルートグループを追加しました

resources/views/backend/roles/です。私は何かがルートに間違っていると思うが、何を理解することはできません。

私はhttp://localhost/admin/rolesを開こうとすると、私はこのエラーを持っている:

HttpException in Application.php line 905:

in Application.php line 905

at Application->abort('403', '', array()) in helpers.php line 30 at abort('403') in EntrustPermission.php line 39

at EntrustPermission->handle(object(Request), object(Closure), 'role-list|role-create|role-edit|role-delete')

at call_user_func_array(array(object(EntrustPermission), 'handle'), array(object(Request), object(Closure), 'role-list|role-create|role-edit|role-delete')) in Pipeline.php line 136

私はここで間違ってやっている任意のアイデアを?

は、今私はここに私の見解でRoute [roles.create] not defined.を持っている:私は私の既存のロールにミドルウェアを変更する場合はUはROLE_IDを添付し、第一およびミドルウェアをUSER_IDする必要が

@permission('role-create') 
    <a class="btn btn-success" href="{{ route('roles.create') }}"> Create New Role</a> 
@endpermission 

答えて

2

は `

'middleware' => ['auth','admin'] 
+0

ようにする必要がありますロール:superadmin'私は、 'Zizaco \ Entrust \ Middleware \ EntrustRole :: handle()'エラーのために引数3が見つかりませんでした –

+1

'ロール' => 'Zizaco \ Entrust \ Middleware \ EntrustRole'、 'permission' => Zizaco \ Entrust \ Middleware \ EntrustPermission '、 '能力' => 'Zizaco \ Entrust \ Middleware \ EntrustAbility'、kernal.phpの上記の行をrouteMiddlewareに転送します – manjunath

+0

パッケージをインストールしている間に追加しました –

関連する問題