2016-03-22 7 views
0

ログインしたユーザーのページのアクセシビリティをチェックするために、1台のコントローラで基本的なログインログアウト機能を実装しています。私がログインしているときに戻るボタンをクリックすると、ログアウトしていることを示す右上にRegister and Loginボタンが表示されるページにリダイレクトされます。しかし、私はまだログインしているユーザーだけがアクセスすると思われるnavリンクをクリックすることができます。以下はコードスニペットです。Laravel戻るボタンをクリックすると、Singoutの問題になる

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

    Route::get('/', function() { 
      return view('welcome'); 
    }); 
    Route::resource('notices', 'NoticesController'); 

    Route::auth(); 

}); 

ブレードファイルの私のコントローラ

class NoticesController extends Controller 
{ 
    // 
public function __construct() 
{ 
    $this->middleware('auth'); 
} 

    public function index() 
    { 
     return 'hello world'; 
    } 
} 

スニペット:

<div class="collapse navbar-collapse" id="app-navbar-collapse"> 
       <!-- Left Side Of Navbar --> 
       <ul class="nav navbar-nav"> 
        <li><a href="{{ url('/notices') }}">Home</a></li> 
       </ul> 

       <!-- Right Side Of Navbar --> 
       <ul class="nav navbar-nav navbar-right"> 
        <!-- Authentication Links --> 
        @if (Auth::guest()) 
         <li><a href="{{ url('/login') }}">Login</a></li> 
         <li><a href="{{ url('/register') }}">Register</a></li> 
        @else 
         <li class="dropdown"> 
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> 
           {{ Auth::user()->name }} <span class="caret"></span> 
          </a> 

          <ul class="dropdown-menu" role="menu"> 
           <li><a href="{{ url('/logout') }}"><i class="fa fa-btn fa-sign-out"></i>Logout</a></li> 
          </ul> 
         </li> 
        @endif 
       </ul> 
      </div> 
     </div> 

私の登録およびログインオプションが右上に表示されているとき、私はアクセスできるようにする/通知ルートを望んでいませんコーナー。親切に助けてください。

+0

[戻る]ボタンを押すと、ログアウトアクションは実行されません。 –

+0

次に、「右上に「Register and Log In」オプションが表示されるのをなぜ助けてください。 – Unbreakable

+0

ブラウザキャッシュを非難する。 http://shouldiblamecaching.com/ –

答えて

0

ブラウザのキャッシュメモリの問題です。ブラウザのキャッシュメモリにはすべてのものが格納されます。そのため、戻るボタンを押すと、一歩前にリダイレクトされます。私は私のプロジェクトでもそれに直面しました。しかし、あなたは、任意の特定のページでこの問題を解決したい場合はyesの場合、このリンクを介してに移動:

http://www.codeproject.com/Tips/549347/Browser-Back-Button-Issue-After-Logout

多分これはあなたを助けます!

0

他のすべてのものの前に、このコードを置くと、ブラウザはページをキャッシュしないように指示します。

<?php 
header("Expires: Tue, 03 Jul 2001 06:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 
?>