当前位置:  开发笔记 > 编程语言 > 正文

从Wordpress内部检查Laravel上经过身份验证的用户?

如何解决《从Wordpress内部检查Laravel上经过身份验证的用户?》经验,为你挑选了0个好方法。

这是一个奇怪的.

我有两个网站,一个由Laravel(5.3)提供支持,另一个由Wordpress提供支持.

Laravel存在于portal.example.com

Wordpress存在Wordpress

我正在尝试从Wordpress站点检查Laravel站点上当前登录的用户.

我让Laravel设置为使用cookie驱动程序进行会话,并将cookie域设置为.example.com,以便我现在可以从Wordpress站点的任何位置看到此cookie.

在wordpress头文件的顶部(或wp-load.php文件,或者functions.php文件,我尝试了很多地方但是遇到了同样的问题)我已经包含了以下内容......

require $_SERVER['DOCUMENT_ROOT'].'/../laravel/bootstrap/autoload.php';
$laravel = require $_SERVER['DOCUMENT_ROOT'].'/../laravel/bootstrap/app.php';

$laravel->make('Illuminate\Contracts\Http\Kernel')
        ->handle(Illuminate\Http\Request::capture());

if (Auth::check()) {
    var_dump(Auth::user()->id);
} else {
    var_dump(false);
}

现在,每当我登录Laravel网站时,我都可以访问example.com,然后在页面顶部,我的Laravel用户ID目前正在成功进行var_dump.

但是,一旦我访问example.com/other-pages/,它就是var_dumping false.

我知道它仍在寻找我需要的两个文件,因为网站继续加载,如果我将它们更改为无意义的文件名,网站就会死亡.我甚至可以var_dump($ laravel)并获得一个很大的Laravel列表.

有没有人有机会知道这里会发生什么?

编辑:

我注意到的第一件事就是在不起作用的页面上有所不同,如果我是var_dump($ laravel)......我得到......

protected 'routeResolver' => null

接近尾声而不是......

protected 'routeResolver' => 
        object(Closure)[805]
          ...

编辑2:

这里有一点进步.

如果我这样做......

$kernel = $app->make('Illuminate\Contracts\Http\Kernel');
$response = $kernel->handle( $request = Illuminate\Http\Request::capture());

var_dump($response);

我可以看到这些其他页面上的响应是Laravel 404页面,所以它遇到错误并且从未返回我的用户.

我可以通过将每个wordpress域添加到我的Laravel路由文件来"修复"它,但这只是脏的,哈哈.

想办法解决这个问题吗?

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有