如何检查各个子域中的授权用户


How to check auth user in laravel subdomain?

我有一个项目,它的后端是建立在Laravel 5.2和前端是建立在PHP。请检查下面的文件夹结构,它在本地主机。

后端:http://crm.test.dev这是根文件夹,laravel5.2 -> public ->index.php

Frontend: http://test.dev这个url指向laravel5.2 -> public -> Frontend -> index.php

我的目的是,如果一个用户(admin)登录后端(http://crm.test.dev),而不是签出。同一用户正在访问前端(http://test.dev"),在那个时候,我需要显示一个警报,你登录后端(http://crm.test.dev)。

前端-> index . php

require __DIR__.'/../../bootstrap/autoload.php';
$app      = require_once __DIR__.'/../../bootstrap/app.php';
$kernel   = $app->make(Illuminate'Contracts'Http'Kernel::class);
$response = $kernel->handle(
    $request = Illuminate'Http'Request::capture()
);
$isAuthorized = Auth::check();
$user         = Auth::user();
echo $user;

实际上问题来自config -> session.php {'domain' => null,}。我把这条线更新为{ 'domain' => '.test.dev', }。现在一个用户登录后端,正在访问前端(子域:http://test.dev),显示"Your are logged in"消息。

require __DIR__.'/../../bootstrap/autoload.php';
$app      = require_once __DIR__.'/../../bootstrap/app.php';
$kernel   = $app->make(Illuminate'Contracts'Http'Kernel::class);
$response = $kernel->handle(
    $request = Illuminate'Http'Request::capture()
);
$isAuthorized = Auth::check();
$user         = Auth::user();
if(Auth::check()) {
    echo "Your are logged in";
}
else {
    echo "Sorry";
    }

我无法访问你发布的网站。但是您可以检查用户是否像您已经做的那样使用Auth::check()登录。那么你可以这样做:

if(Auth::check()) {
    echo "You're locked in";
    //do some action
else {
    //do normal action
}