不同版本的laravel怎么共享session啊


现在发现高版本把cookie加密了,他引用了CookieValuePrefix,我用低版本直接引用不存在。
有谁知道这个文件在哪吗。
这是低版本,没有加密

    protected function encrypt(Response $response)
    {
        foreach ($response->headers->getCookies() as $cookie) {
            if ($this->isDisabled($cookie->getName())) {
                continue;
            }

            $response->headers->setCookie($this->duplicate(
                $cookie, $this->encrypter->encrypt($cookie->getValue(), static::serialized($cookie->getName()))
            ));
        }

        return $response;
    }

高版本

     */
    protected function encrypt(Response $response)
    {
        foreach ($response->headers->getCookies() as $cookie) {
            if ($this->isDisabled($cookie->getName())) {
                continue;
            }

            $response->headers->setCookie($this->duplicate(
                $cookie,
                $this->encrypter->encrypt(
                    CookieValuePrefix::create($cookie->getName(), $this->encrypter->getKey()).$cookie->getValue(),
                    static::serialized($cookie->getName())
                )
            ));

        }
print_r(  CookieValuePrefix::create($cookie->getName(), $this->encrypter->getKey()));die;
        return $response;
    }

如果想把低版本也进行加密,应该怎么改

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案
// 这个文件粘到你低版本的项目里面
\Illuminate\Cookie\CookieValuePrefix


// 在低版本的这个文件里,把新版框架的代码写一遍. decrypt() 和 encrypt(),其他方法也浏览一下看是否需要
\App\Http\Middleware\EncryptCookies::class
3年前 评论
讨论数量: 7
Complicated

你这个不是一个项目吧

3年前 评论
IcarusA (楼主) 3年前
Complicated (作者) 3年前
IcarusA (楼主) 3年前
Complicated (作者) 3年前

设置key相同,session配置相同!

3年前 评论

既然是两个项目那就是需要做session 共享,这样一般需要借助 redis 这种工具来实现。

3年前 评论
panda-sir

单点登录岂不美滋滋

3年前 评论

最好,借用redis 。

3年前 评论
wangchunbo
  1. 版本相同,key一致,是可以做到共享的.
  2. 版本不同,共享session,建议借助于redis,或者memcached,可以考虑用jwt.
3年前 评论
// 这个文件粘到你低版本的项目里面
\Illuminate\Cookie\CookieValuePrefix


// 在低版本的这个文件里,把新版框架的代码写一遍. decrypt() 和 encrypt(),其他方法也浏览一下看是否需要
\App\Http\Middleware\EncryptCookies::class
3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!