时间:2021-05-18
最新在学习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失效的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
最近在研究有关.netmvc项目中的session失效问题,下面小编把研究过程给大家共享下,大家可以参考下。最近解决基于.netmvc项目的session失效问
session使用注意点laravel是一款php框架了,在使用laravel时会碰到session使用问题,工作中使用的是session默认的文件缓存,在使用
ajax操作全局监测,用户session失效的解决方法jQuery(function($){//备份jquery的ajax方法var_ajax=$.ajax;/
本文实例讲述了Laravel的throttle中间件失效问题解决方法。分享给大家供大家参考,具体如下:按官方解释,实现访问频率限制非常简单:?123Route:
解决session阻塞问题的办法:在session操作完成后调用session_write_close()即可避免此问题;案例一:使用session过程中,在开