2016-03-22 5 views
0

Ich implementiere eine grundlegende Login-Logout-Funktionalität mit einem zusätzlichen Controller, nur um die Zugänglichkeit von Seiten für angemeldete Benutzer zu überprüfen. Wenn ich eingeloggt bin und auf den Zurück-Button klicke, werde ich auf die Seite weitergeleitet, wo ich die Schaltfläche Registrieren und Login oben rechts sehe, die darauf hinweist, dass ich ausgeloggt bin. Aber ich kann immer noch auf die Nav-Links klicken, auf die nur von angemeldeten Benutzern zugegriffen werden soll. Unten ist das Code-Snippet.Laravel Anmelden Singout Problem beim Klicken zurück Schaltfläche

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

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

    Route::auth(); 

}); 

Mein Controller

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

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

Schnipsel von Blade-Datei:

<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> 

Ich will nicht die/Hinweise Weg zugänglich, wenn oben rechts sichtbar sein, meine Register und LogIn Optionen sind Ecke. Freundlich helfen.

+0

Durch Drücken der Zurück-Taste wird keine Abmeldeaktion ausgeführt. –

+0

Warum sehe ich dann die Option "Registrieren und Einloggen" oben rechts? "Bitte helfen Sie. – Unbreakable

+0

Blame Browser-Cache. http://shouldiblamecaching.com/ –

Antwort

0

Es ist Browser-Cache-Speicher-Problem. Der Cache-Speicher des Browsers speichert alle Dinge. Wenn wir also die Taste "Zurück" drücken, wird ein Schritt zurückgeleitet. Ich habe es auch in meinem Projekt gesehen. Aber ja, wenn Sie dieses Problem in einer bestimmten Seite lösen wollen geht dann über diesen Link:

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

Vielleicht helfen Sie!

0

In der Ansicht, vor allen anderen Dingen, legen Sie diesen Code, wird es dem Browser sagen, die Seite nicht zwischenzuspeichern.

<?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"); 
?>