2016-08-09 59 views
3

Ich bin neu bei Laravel und ich entwickle eine Anwendung mit Benutzer, Rollen und Genehmigung. Dafür benutze ich Zizaco/Entrust. Ich bin fast mit allen Schritten getan, aber ich bin nicht in der Lage sind, die benutzerdefinierte Seite für 403. Mein Code zu zeigen, wie folgt:Laravel 5.2 mit Entrust - nicht in der Lage zu prüfen, Erlaubnis und render 403

Permission : role-list 
Role : Manager 

'role-list' zu "manager' Rolle zugewiesen wird und dann 'manager' Rolle assiged zu 'ABC' Benutzer.

In meiner app \ Kernel-Datei-ID hinzugefügt, um diese Middle:

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, 
    ]; 

In meiner Routen-Datei:

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

Und dann eine Datei erstellt: resources/views/errors/403.blade.php

@extends('layouts.backend') 

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

Aber wenn Ich versuche auf die Seite zuzugreifen. Ich erhalte diesen Fehler:

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

Antwort

0

Nicht sicher, ob dies die richtige Antwort ist, aber ...

Zum Lewis-> presenter-> src-> Decorator.php

auf 80 Linie sollten Sie „$ Objekt sehen = Klon $ -Objekt; "

Kommentieren Sie diese Zeile und es sollte anfangen, mit den Berechtigungen zu arbeiten.