网上找了好久,都说要给路由配置中间件,我也配置了,Kernel.php我也没动过
被这个问题折腾了好几天了,csrf也没效果,明明都引用了中间件的,我甚至都直接放到全局中间件里面也没用,真是怪了,重新建了个laravel项目也这样
路由配置中间件试过了,版本是最新的,RouteServiceProvider里面也有自动加载web中间件的代码,都没用,这些方法网上都找的到,根本没效果啊。。
网上找了好久,都说要给路由配置中间件,我也配置了,Kernel.php我也没动过
被这个问题折腾了好几天了,csrf也没效果,明明都引用了中间件的,我甚至都直接放到全局中间件里面也没用,真是怪了,重新建了个laravel项目也这样
路由配置中间件试过了,版本是最新的,RouteServiceProvider里面也有自动加载web中间件的代码,都没用,这些方法网上都找的到,根本没效果啊。。
升级到Laravel 5.2.27以上。
修改app/Providers/RouteServiceProvider.php 第56行自动加上web中间件:
'namespace' => $this->namespace, 'middleware' => 'web',
如果你是使用文件session 检查你storage 目录是否有写入权限
使用 database 检查有没有sessions表
使用memcache/redis 有没有启动memcached和redis 服务,已经有没有装相应拓展!
遇到了同样的问题,session() 可以用 但是$request->session()-put() 这样不行,我这边的解决方法简单粗暴,在/app/Http/Kernel.php 文件中加入如下两行代码:
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
StartSession::class,
ShareErrorsFromSession::class,
];
当然,我是use了
use IlluminateSessionMiddlewareStartSession;
use IlluminateViewMiddlewareShareErrorsFromSession;
还有 我是Laravel5.3 目前为止已经解决问题了
2 回答3.1k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
2 回答1.2k 阅读
1 回答1.2k 阅读
1 回答1k 阅读
路由配置上使用web中间件
如果在Routes上添加web中间件没有效果的话,你可以添加下面的$middleware 到 Kernel.php里面