2016-08-15 16 views
1

一部のコンテンツをログインしたユーザーにのみ部分的に表示しようとしています。コンテンツは表示されません。ここに少しのコードがあります:ViewのAuth :: check()は常にfalseを返します

@if(Auth::check()) 
    <a href="{{ route('backend.blog.edit', $id) }}"> 
     Edit 
    </a> 
    @endif 

部分を含むページは誰でも利用できます。私はこの1ビットのコンテンツを隠すだけです。 誰かが私を正しい方向に向けることができますか?

追加情報 これは、作成しようとしているCMSシステムの一部です。したがって、コントローラはサービスプロバイダ(RouteServiceProvider)を介して呼び出されます。私はページモデルに基づいてルートを引っ張っています。ここでは適切な方法である:私は解決策

public function map(Router $router) 
{ 
    $this->mapApiRoutes(); 

    $this->mapWebRoutes(); 

    Route::group(['middleware' => 'web'], function ($router) { 

    if (! app()->runningInConsole()) { 
     foreach (ProductCategory::all() as $category) { 
      $router->get($category->uri, ['as' => $category->name, function() use ($category, $router) { 
       return $this->app->call(
        'App\Http\Controllers\[email protected]', [ 
        'category' => $category, 
        'parameters' => $router->current()->parameters() 
       ]); 
      }]); 
     } 
    } 

    }); 

} 
+0

あなたがしようとしましたAUTH()が見つかり

public function map(Router $router) { $this->mapWebRoutes($router); foreach (Page::all() as $page) { $router->get($page->uri, ['middleware' => 'web', 'as' => $page->name, function() use ($page, $router) { return $this->app->call('App\Http\Controllers\[email protected]', [ 'page' => $page, 'parameters' => $router->current()->parameters() ]); }]); } } 
KmasterYC

+0

@KmasterYCしました。 –

+0

このコントローラが 'auth'ミドルウェアを通過したことを確かめていますか? –

答えて

0

- >チェック()の代わりに、認証::チェックを()?
+0

はソリューションをもう少し説明するので、OPはそれをコピーして貼り付けるのではなく、そこから学ぶことができます。 – davejal

関連する問題