laravel框架session失效的情况如何解决?要注意什么?
发布时间:2022-03-21 14:14:46 所属栏目:语言 来源:互联网
导读:我们知道在laravel中,无法使用$_SESSION,那么就只能用框架的session。不少新手朋友都有遇到laravel框架session失效的问题,那么要怎么样解决呢?下面我们一起来看看解决办法。 贴上代码 ?php namespace AppHttpControllers; use AppHttpRequests; use
我们知道在laravel中,无法使用$_SESSION,那么就只能用框架的session。不少新手朋友都有遇到laravel框架session失效的问题,那么要怎么样解决呢?下面我们一起来看看解决办法。 贴上代码 <?php namespace AppHttpControllers; use AppHttpRequests; use Request; use IlluminateSupportFacadesSession; class CommonController extends Controller { static function login(){ $team_id=Request::input('team_id'); $uuid=Request::input('uuid'); $key=Request::input('key'); if(empty($team_id)){ $team_id=Session::get('team_id'); } if(empty($uuid)){ $uuid=Session::get('uuid'); } if(empty($key)){ $key=Session::get('key'); } // session(['team_id'=>$team_id]); Session::put('team_id',$team_id); Session::put('uuid',$uuid); Session::put('key',$key); Session::save(); } public static function islogin(){ $team_id=Session::get('team_id'); $uuid=Session::get('uuid'); $key=Session::get('key'); if(!empty($team_id)&&!empty($uuid)){ if($key != 1234){ echo "没有权限"; exit; } }else{ echo "没有权限"; exit; } } } 在当前页面可以到SESSION,但是跨页面就失效,以为是AJAX的CSRF验证问题,查找试了不是,然后经过打印发现2个SESSION不一致,继续检查最后发现是在定义路由的时候没有定义在同一个分组内所以导致SESSION不一致。 将路由重新定义好了 Route::group(['middleware'=>'web'],function() { Route::any('/report/billviews', 'reportUserbillController@BillViews'); Route::any('/report/index','reportUseraccessController@index');//把需要用到session的路由请求全部放在web组里。 Route::any('/report/countprice', 'reportUserbillController@CountPrice'); Route::any('islogin', 'CommonController@islogin'); Route::any('login', 'CommonController@login'); }); 还有个坑laravel5.2的session必须要过中间件。 (编辑:鹤壁站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |