退出后如何防止显示主页

Posted

技术标签:

【中文标题】退出后如何防止显示主页【英文标题】:How to prevent displaying the home page after logging out 【发布时间】:2015-03-26 19:47:13 【问题描述】:

这是我的 routes.php

<?php
#HomePage
Route::get('/', 'LoginController@home');
Route::post('login', 'LoginController@Login');
Route::group(array('before' => 'auth'), function()

Route::get('home', 'HomeController@HomeLayout');
Route::get('logout', 'LoginController@Logout');
);

在退出时我有

   public function Logout()
    
        Session::flush();
        return Redirect::to('');
    

一旦我注销,我就会成功重定向到'' 页面,即 localhost/home,因为我的登录控制器中有这个

public function home()

    return View::make('login/home');

我的问题是,一旦我按下注销并按下后退按钮,我就可以看到 localhost/home,尽管我在 Route::group(array('before' =&gt; 'auth'), function() 中使用过它

我还配置了filters.php

Route::filter('guest', function()

    if (Auth::check()) return Redirect::to('/')->with('Message', 'Please Login to get Access');
);

Route::filter('auth', function()

    if (Auth::guest())
    
        if (Request::ajax())
        
            return Response::make('Unauthorized', 401);
        
        else
        
            return Redirect::guest('')->with('Message', 'Please Login to get Access');
        
    
);

注意:一旦我刷新它会直接注销,但我什至不想在刷新之前显示主页

如何防止在他们退出后按浏览器的返回按钮后显示主屏幕?

【问题讨论】:

【参考方案1】:
App::after(function($request, $response)

    $response->headers->set('Cache-Control','nocache, no-store, max-age=0, must-revalidate');
    $response->headers->set('Pragma','no-cache');
    $response->headers->set('Expires','Fri, 01 Jan 1990 00:00:00 GMT');
);

routes.php 中添加这些行并检查。

这将清除cache

【讨论】:

虽然这个答案是正确的 - 请记住您正在阻止浏览器缓存 - 所以您为此牺牲了性能。

以上是关于退出后如何防止显示主页的主要内容,如果未能解决你的问题,请参考以下文章

[Layui]主页全面显示,ESC退出

Chromecast - 完成投射后返回主页

用户登录并重定向到主页后,如何在主页导航栏中隐藏登录链接并显示注销链接?

如何成功退出

Android中如何点返回键返回主页面,在主页面中点返回键弹出退出框?

滚动800像素后如何在主页上显示div?