2017-10-16 85 views
1

很抱歉,但我是很新,Laravel,所以我可能會說一些愚蠢的事情......設置消息「/登錄」頁面


OK,我剛剛創建使用php artisan make:auth認證系統,並創建了auth中間件簡單的路線:

Route::get("/test", "[email protected]")->middleware('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'); 
} 

,可以嗎?這是一個很好的實現方法嗎?因爲它看起來很奇怪我..

謝謝!

回答

1

它與用戶是否有預期的URL測試OK,有一點要記住,這將影響到所有用戶重定向不只是從/test

的那些,但最好是使用消息沖洗上沒有傳遞給它在視圖中對這種消息的會話:

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方法:

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

並添加一些CSS;)

+0

實際上,我希望任何由於「auth」而被重定向到登錄頁面的訪客都會看到此消息。 「測試」頁面僅僅是一個例子。不管怎樣,閃光燈看起來好多了! :) – StyleSh1t

+1

是的,它會做到這一點,而我說的是什麼;) – Maraboc

相關問題