您的位置:首页 > 教程 > PHP编程 > 解决laravel session失效的问题

解决laravel session失效的问题

2020-09-04 08:20:38 来源:易采站长站 作者:

解决laravel session失效的问题,路由,定义,没有权限,页面,发现

解决laravel session失效的问题

易采站长站,站长之家为您整理了解决laravel session失效的问题的相关内容。

最新在学习laravel,用到了session,因为laravel没法用$_SESSION 所以只能用框架的session。

贴上代码

<?php namespace App\Http\Controllers;use App\Http\Requests;use Request;use Illuminate\Support\Facades\Session; 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', 'report\UserbillController@BillViews');  Route::any('/report/index','report\UseraccessController@index');//把需要用到session的路由请求全部放在web组里。  Route::any('/report/countprice', 'report\UserbillController@CountPrice');  Route::any('islogin', 'CommonController@islogin');  Route::any('login', 'CommonController@login');});

还有个坑laravel5.2的session必须要过中间件

以上就是关于对解决laravel session失效的问题的详细介绍。欢迎大家对解决laravel session失效的问题内容提出宝贵意见

微信扫一扫

易采站长站微信账号