2015-11-08 2 views
2

Я следую за upgrade guide, но я не могу выполнить работу по авторизации.Laravel Class 'Gate' не найдено

AuthServiceProvider

<?php 

namespace App\Providers; 

use Illuminate\Contracts\Auth\Access\Gate as GateContract; 
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; 

class AuthServiceProvider extends ServiceProvider 
{ 
    /** 
    * The policy mappings for the application. 
    * 
    * @var array 
    */ 
    /*protected $policies = [ 
     'App\Model' => 'App\Policies\ModelPolicy', 
    ];*/ 


    protected $policies = [ 
     Request::class => AnalysisPolicy::class, 
    ]; 

    /** 
    * Register any application authentication/authorization services. 
    * 
    * @param \Illuminate\Contracts\Auth\Access\Gate $gate 
    * @return void 
    */ 
    public function boot(GateContract $gate) 
    { 
     $this->registerPolicies($gate); 

     // 
    } 
} 

Анализ политики

<?php 

namespace App\Policies; 

use Illuminate\Auth\Access\HandlesAuthorization; 
use App\User; 
use App\Request; 

class AnalysisPolicy 
{ 
use HandlesAuthorization; 

/** 
* Create a new policy instance. 
* 
* @return void 
*/ 
public function __construct() 
{ 
    // 
} 


public function view(Request $analysis){ 

    return true; 

} 


// 

}

Контроллер

<?php 

namespace App\Http\Controllers; 

use Illuminate\Foundation\Bus\DispatchesJobs; 
use Illuminate\Routing\Controller as BaseController; 
use Illuminate\Foundation\Validation\ValidatesRequests; 
use Illuminate\Foundation\Auth\Access\AuthorizesRequests; 


abstract class Controller extends BaseController 
{ 
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests; 
} 

TestController

public function showTest() 
    { 
     $analysis= Request::find(1); 


     return view('test', ['analysis' => $analysis]); 
    } 

Test.blade.php

Test page 


@can('view', $analysis) 
    Hello world 
@endcan 

конфигурации \ приложение

'providers' => [ 

    /* 
    * Laravel Framework Service Providers... 
    */ 
    Illuminate\Foundation\Providers\ArtisanServiceProvider::class, 
    Illuminate\Auth\AuthServiceProvider::class, 
    Illuminate\Broadcasting\BroadcastServiceProvider::class, 
    Illuminate\Bus\BusServiceProvider::class, 
    Illuminate\Cache\CacheServiceProvider::class, 
    Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, 
    Illuminate\Routing\ControllerServiceProvider::class, 
    Illuminate\Cookie\CookieServiceProvider::class, 
    Illuminate\Database\DatabaseServiceProvider::class, 
    Illuminate\Encryption\EncryptionServiceProvider::class, 
    Illuminate\Filesystem\FilesystemServiceProvider::class, 
    Illuminate\Foundation\Providers\FoundationServiceProvider::class, 
    Illuminate\Hashing\HashServiceProvider::class, 
    Illuminate\Mail\MailServiceProvider::class, 
    Illuminate\Pagination\PaginationServiceProvider::class, 
    Illuminate\Pipeline\PipelineServiceProvider::class, 
    Illuminate\Queue\QueueServiceProvider::class, 
    Illuminate\Redis\RedisServiceProvider::class, 
    Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, 
    Illuminate\Session\SessionServiceProvider::class, 
    Illuminate\Translation\TranslationServiceProvider::class, 
    Illuminate\Validation\ValidationServiceProvider::class, 
    Illuminate\View\ViewServiceProvider::class, 
    Illuminate\Html\HtmlServiceProvider::class, 
    /* 
    * Application Service Providers... 
    */ 
    App\Providers\AppServiceProvider::class, 
    App\Providers\AuthServiceProvider::class, 
    App\Providers\EventServiceProvider::class, 
    App\Providers\RouteServiceProvider::class, 


], 

'aliases' => [ 

    'App'  => Illuminate\Support\Facades\App::class, 
    'Artisan' => Illuminate\Support\Facades\Artisan::class, 
    'Auth'  => Illuminate\Support\Facades\Auth::class, 
    'Blade'  => Illuminate\Support\Facades\Blade::class, 
    'Bus'  => Illuminate\Support\Facades\Bus::class, 
    'Cache'  => Illuminate\Support\Facades\Cache::class, 
    'Config' => Illuminate\Support\Facades\Config::class, 
    'Cookie' => Illuminate\Support\Facades\Cookie::class, 
    'Crypt'  => Illuminate\Support\Facades\Crypt::class, 
    'DB'  => Illuminate\Support\Facades\DB::class, 
    'Eloquent' => Illuminate\Database\Eloquent\Model::class, 
    'Event'  => Illuminate\Support\Facades\Event::class, 
    'File'  => Illuminate\Support\Facades\File::class, 
    'Gate'  => Illuminate\Support\Facades\Gate::class, 
    'Hash'  => Illuminate\Support\Facades\Hash::class, 
    'Input'  => Illuminate\Support\Facades\Input::class, 
    'Inspiring' => Illuminate\Foundation\Inspiring::class, 
    'Lang'  => Illuminate\Support\Facades\Lang::class, 
    'Log'  => Illuminate\Support\Facades\Log::class, 
    'Mail'  => Illuminate\Support\Facades\Mail::class, 
    'Password' => Illuminate\Support\Facades\Password::class, 
    'Queue'  => Illuminate\Support\Facades\Queue::class, 
    'Redirect' => Illuminate\Support\Facades\Redirect::class, 
    'Redis'  => Illuminate\Support\Facades\Redis::class, 
    'Request' => Illuminate\Support\Facades\Request::class, 
    'Response' => Illuminate\Support\Facades\Response::class, 
    'Route'  => Illuminate\Support\Facades\Route::class, 
    'Schema' => Illuminate\Support\Facades\Schema::class, 
    'Session' => Illuminate\Support\Facades\Session::class, 
    'Storage' => Illuminate\Support\Facades\Storage::class, 
    'URL'  => Illuminate\Support\Facades\URL::class, 
    'Validator' => Illuminate\Support\Facades\Validator::class, 
    'View'  => Illuminate\Support\Facades\View::class, 

Я всегда получаю Class 'Gate' not found. У меня есть laravel 5.1.23. Я попытался запустить composer update и artisan clear-compiled, но ничего не получилось.

+0

Могу ли я спросить, какую версию, что вы имели, прежде чем это руководство инструкции по обновлению? –

+0

@MohamedKawsara У меня уже было 5.1.23, но я никогда не пытался использовать функции авторизации, которая является новой функцией 5.1.11, перед применением руководства по обновлению. – Wistar

ответ

Смежные вопросы