Laravel5.2默认会给路由增加Web中间件,怎么禁用掉?

Laravel5.2默认会给路由增加Web中间件,怎么禁用掉?

web包含了sessioncsrftoken。但是在支付宝、微信的异步通知中根本用不到session和csrf。怎么禁用。

不想去动verifycsrftoken的中间件配置。

阅读 7.4k
3 个回答

已解决。

app\Http\Providers\RouteServiceProvider.phpmapRoute 取消强制给加上的web中间件调用。自己在自己的路由中需要的时候增加 middleware=>web 即可

尽量别去修改app/Http/Kernel.php,极不推荐关闭CSRF。
修改app/Http/Middleware/VerifyCsrfToken.php,从CSRF验证中排除指定URL。

<?php

    namespace App\Http\Middleware;

    use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;

    class VerifyCsrfToken extends BaseVerifier
    {
        /**
         * 指定从 CSRF 验证中排除的URL
         *
         * @var array
         */
        protected $except = [
            'testCsrf'
        ];
    }

你把你的路由从web中间件组拿出来不就好了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进