2017-05-05 1 views
0

私はlaravelを初めて使用しているため、ページトラフURLに直接アクセスする前に、ユーザーがログオンしているかどうかを確認することはできません。Session :: has( 'loggedOn')があり、ビュー内でコントローラを呼び出すかどうかを確認するには?

I suppose the check should be done in the routes and there is no problem to do so when calling a view from the route: 

Route::get('/', function() 
    { 
    if (!Session::has('loggedOn')) 
     { 
     return view('viewLogin'); 
     } 
    else 
     { 
     return view('viewAllData'); 
     } 
    }); 
    enter code here 

But when I want to call a Controller and check if (!Session::has('loggedOn')), how is this done? 

Route::get('/messagesPage', '[email protected]'); 
+0

Laravelは、カスタムログインおよびセッション処理を実装していない限り、それはログインか使用かどうかを確認するために認証::チェック方法を持ってログインしている場合は、上記のみ –

+0

..ユーザのアクセスパスをできるようになりますありがとうございます、私は次に、ドキュメントのAuth :: checkを探します。 :) – cyberspacelogin

答えて

1

以下のユーザーがあなたのコントローラに

use Illuminate\Support\Facades\Auth; 

を追加

にログインしているかどうかを確認し、以下をチェックする

if (Auth::check()) { 
// The user is logged in... 
} 

秒間の答えを追加するように編集質問

Route::get('profile', function() { 
// Only authenticated users may enter... 
})->middleware('auth'); 

彼らは

+0

ありがとう!コントローラ(ルート)にリダイレクトする前に、ユーザーがログオンしているかどうかを確認できますか? – cyberspacelogin

+0

はい、上記の編集された回答を参照してください。 – ATechGuy

+0

Route :: get( 'profile'、function(){ //認証されたユーザだけが... }} - >ミドルウェア( 'auth');を使用してコントローラを呼び出す方法を教えてください。 – cyberspacelogin

関連する問題