【问题标题】:How to block laravel from setting session cookies (or any cookies) for specific routes?如何阻止 laravel 为特定路由设置会话 cookie(或任何 cookie)?
【发布时间】:2017-07-17 04:08:29
【问题描述】:

我们有一些要缓存的静态页面。我们仍然需要他们通过 Laravel 4.2。但是,如果有人访问该页面,我不希望从 Laravel 发送任何 cookie,包括会话 cookie。

这可能吗?

【问题讨论】:

    标签: php laravel session cookies laravel-4.2


    【解决方案1】:

    在您的app/Providers/RouteServiceProvider.php 中,您将在routes/web.php 中的web 中间件下注册每条路由。它负责设置您的会话 cookie。

    您可以在 routes/api.php 中注册这些路由,或者更好的是,在 RouteServiceProvider 中创建另一个受保护的方法,以在 /routes 文件夹内的另一个文件中注册这些“无cookie”路由。

    Laravel 4.*

    对于 laravel 4.*,您可以在没有 cookie 的情况下更改您需要的每个页面上的会话配置。您必须在__construct 中更改这些配置

    类 StatelessPageController 扩展 BaseController {

    public function __construct(Config $config)
    {
        $config::set('session.driver', 'array');
        $config::set('cookie.driver', 'array');
    }
    
    public function statelessPage()
    {
        return View::make('stateless.page', ['data' => 'value']);
    }
    

    }

    【讨论】:

    • 对不起,Laravel 4.2 应该更清楚。我将其标记为这样,但可以更好地突出显示它。
    • @StackOverflowed 刚刚使用 4.2 示例代码编辑了我的回复。
    猜你喜欢
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 2019-07-22
    • 2010-11-25
    • 1970-01-01
    • 2020-06-02
    • 2020-08-04
    • 2013-11-19
    相关资源
    最近更新 更多