Laravel 5.2 с Entrust — не может проверить разрешение и отрендерить 403

Я новичок в Laravel и разрабатываю приложение с правами пользователя, ролями и разрешениями. Для этого я использую Zizaco / Entrust. Я почти закончил все шаги, но я не могу показать пользовательскую страницу для 403. Мой код выглядит следующим образом:

Permission : role-list
Role : Manager

'role-list' назначен на ‘manager' роль, а затем 'manager' Роль назначена пользователю ‘ABC’.

В мой файл app \ kernel id добавлены следующие промежуточные программы:

protected $routeMiddleware = [
'auth' => \Eybos\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class,
'guest' => \Eybos\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'role' => \Zizaco\Entrust\Middleware\EntrustRole::class,
'permission' => \Zizaco\Entrust\Middleware\EntrustPermission::class,
'ability' => \Zizaco\Entrust\Middleware\EntrustAbility::class,
];

В моем файле маршрутов:

Route::get( 'backend/roles', [ 'as' => 'backend.roles.index', 'uses' => 'Backend\RoleController@index', 'middleware' => ['permission:role-list|role-create|role-edit|role-delete']] );

И затем создал файл: resources/views/errors/403.blade.php

@extends('layouts.backend')

@section('content')
<h1>You don't have permission.</h1>
@endsection

Но когда я пытаюсь получить доступ к странице, я получаю эту ошибку:

FatalErrorException in Decorator.php line 80:
Trying to clone an uncloneable object of class Symfony\Component\HttpKernel\Exception\HttpException

3

Решение

Не уверен, что это правильный ответ, но …

Перейдите в Льюис-> Presenter-> Src-> Decorator.php

в строке 80 вы должны увидеть «$ object = clone $ object;»

Прокомментируйте эту строку, и она должна начать работать с разрешениями.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]