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
ようにする必要がありますロール:superadmin'私は、 'Zizaco \ Entrust \ Middleware \ EntrustRole :: handle()'エラーのために引数3が見つかりませんでした –
'ロール' => 'Zizaco \ Entrust \ Middleware \ EntrustRole'、 'permission' => Zizaco \ Entrust \ Middleware \ EntrustPermission '、 '能力' => 'Zizaco \ Entrust \ Middleware \ EntrustAbility'、kernal.phpの上記の行をrouteMiddlewareに転送します – manjunath
パッケージをインストールしている間に追加しました –