2017-10-16 22 views
1

をゲストにリダイレクトした後Laravelでメッセージが、私はLaravelにかなり新しいので、私はおそらくいくつかの愚かなことを言うよ...セット「/ログイン」ページに申し訳ありませんが


OK、私は先ほど作成します

Route::get("/test", "[email protected]")->middleware('auth'); 

ゲストは/テストページに入り、認証システムが自動的にOKです/ログインページ、に彼をリダイレクト:認証php artisan make:authを使用して、システム、およびauthミドルウェアで簡単なルートを作成しました。

はしかし、私はゲスト「あなたがこのページを閲覧するためにはログインする必要があります」などのメッセージを表示したいので、私はAuth/LoginController.phpにこのコードを追加しました:

public function showLoginForm() 
{ 
    $intendedURL = \Session::get('url.intended'); 

    if($intendedURL) 
     return view('auth.login')->with("message", "You must log in to continue"); 

    return view('auth.login'); 
} 

が、それはOKですが?それを実装するのは良い方法ですか?私にはかなり奇妙に見えます。

ありがとう!

答えて

1

ユーザーが意図したURLを持っている場合、それは/test

から、これはすべてのリダイレクトのユーザーに影響を与えるものだけでなく、心に留めておくべき一つのことテストでOKです。しかし、上のフラッシュメッセージを使用することをお勧めしますビューでそれを介さずに、メッセージのこの種のセッション:

@if(Session::has('message')) 
    <p class="alert alert-info">{{ Session::get('message') }}</p> 
@endif 

public function showLoginForm() 
{ 
    $intendedURL = \Session::get('url.intended'); 

    if($intendedURL) { 
     Session::flash('message', 'You must log in to continue'); 
     } 

    return view('auth.login'); 
} 

とビューには、あなたはSession::hasメソッドを使用します。

さらにCSSを追加してください)

+0

実際、 "auth"のためにログインページにリダイレクトされたゲストにこのメッセージが表示されます。 「テスト」ページは単なる例でした。 とにかく、フラッシュははるかによく見えます! :) – StyleSh1t

+1

はい、それはそれを行い、私が言ったもの;) – Maraboc

関連する問題