thinkphp 在两个应用里面设置不同的session

今天项目有个需求就是,需要在两个应用模块,假如是home和admin两个模块,要求同一个账户,帐号密码保存在session中,如果没有登陆过home,只登陆过admin,那么在跳转home应用下的控制器应该跳转到登陆界面。


这就需要设置session的前缀了。


下面是代码


我用的是tp5.0框架,可以直接进行session初始化用session函数。


session([
   'prefix'     => 'index',
   'type'       => '',
   'auto_start' => true,
]);

session([
   'prefix'     => 'index',
   'type'       => '',
   'auto_start' => true,
]);

这两个前缀不一致,访问的时候是这样访问的:$_SESSION['index']['id'];

这样就有了index前缀的session数组。打印出来看是

这样检测各应用下的id就可以知道,当前有没有登陆过该应用。


session([
   'prefix'     => 'index',
   'type'       => '',
   'auto_start' => true,
]);

//设置前缀放在设置session之前
session('id', $data['ID']);
session('Account', $data['Account']);
session('AccountType', $data['AccountType']);
session('AuthoriezdModules', $data['AuthoriezdModules']);
setcookie('Account',$data['Account'],time()+3600*24*31,"/");
  setcookie('password',$condition['Pwd'],time()+3600*24*31,"/");
  // myLog(session('id'),__LINE__);die;
  // myLog($_SESSION['index']['id'],__LINE__);die;
  // setcookie('remember',$remember,time()+3600);
// 保存3个小时 
$lifeTime = 3600*3;  
setcookie(session_name(), session_id(), time() + $lifeTime, "/");



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值