拉拉维尔登录 单击后退按钮时出现唱出问题



我正在使用一个额外的控制器实现基本的登录注销功能,只是为了检查登录用户的页面可访问性。当我登录并单击后退按钮时,我被重定向到页面,我开始在右上角看到注册和登录按钮,这表明我已注销。但是我仍然可以单击导航链接,这些链接应该只能由登录用户访问。下面是代码片段。

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>

当我的注册和登录选项在右上角可见时,我不希望访问/notices 路由。请帮忙。

在视图中,在所有其他操作之前放置此代码,它将告诉浏览器不要缓存页面。

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

这是浏览器的缓存内存问题。浏览器的缓存存储所有内容。因此,当我们按下后退按钮时,它会后退一步。我在我的项目中也遇到了这个问题。但是,是的,如果您想在任何特定页面中解决此问题,请通过此链接转到:

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

也许这对你有帮助!

最新更新