两个laravel项目共享session Laravel实现单点登录

两个laravel项目共享session Laravel实现单点登录

创建两个 Laravel 5.5 项目

composer 安装 predis

composer require predis/predis

配置 Laravel 框架

1.配置 Laravel 框架下的 .env 文件中 Session 驱动、缓存驱动、APP_KEY

  APP_KEY=base64:4nrVpUIRG3CBFRd+CvB+IUxATDUcGiagyfSRBi2VBG0=

  CACHE_DRIVER=redis    //顺道把缓存驱动也配置为 Redis 驱动
  SESSION_DRIVER=redis
SESSION_LIFETIME=120

  REDIS_HOST=127.0.0.1
  REDIS_PASSWORD=123456
  REDIS_PORT=6379

注意:两个项目配置统一驱动都为 Redis ,还有就是两个项目的 `APP_KEY` 统一个 Key。否则不行!

2.配置 config\session.php 文件中 Key 为 domain 的 Value

'domain' => '.userdomain.com';    //你域名的根

测试

1.在 account-project 项目中 routes.php 中配置一条路由:

Route::get('/test-set-cache-session',function(){
    Cache::put('cache1','cache1-value',1);
    Cache::put('cache2','cache2-value',1);
    Session::put('session1','session1-value',1);
    Session::put('session2','session2-value',1);
    return Session::getId();
});
//此条路由分别用 Cache 设置两条数据和两条 Session 数据,最后返回 SessionId

2.在 user-project 项目中 routes.php 中配置一条路由

Route::get('/test-get-cache-session',function(){
    $data = [
        'cache1'=>Cache::get('cache1'),
        'cache2'=>Cache::get('cache2'),
        'session1'=>Session::get('session1'),
        'session2'=>Session::get('session2'),
        'session_id'=>Session::getId()
    ];
    return $data;
});
//此条路由分别获取获取两条 Cache 数据和两条 Session 数据及 SessionId ,最后返回数据

用浏览器打开两个项目地址:

1.开设置 Session 的项目: http://account-project.userdomain.com/test-set-cache-session

#浏览器输出

df7bec16715cbea5516697d8cd9f2a5f61db8af1

2.接着打开另外一个项目: http://user-project.userdomain.com/test-get-cache-session

#浏览器输出

{
    "cache1": "cache1-value",
    "cache2": "cache2-value",
    "session1": "session1-value",
    "session2": "session2-value",
    "session_id": "df7bec16715cbea5516697d8cd9f2a5f61db8af1"
}

很明显两个 SessionId 都一样,说明你的两个 Laravel 项目可以共享 Session 了。

 

 

http://havenshen.com/articles/2015/12/laravel-5.1-used-session-share.html

转载于:https://www.cnblogs.com/love-snow/articles/8360733.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值