如何登录到多个子域一次

问题描述 投票:0回答:1

我有多个子域,它们都使用相同的数据库使用相同的用户表。 当我登录到a.domain.com我想也到b.domain.com要记录等。

我发现多领域-SSO(https://github.com/0k/multidomain-sso),但我们的问题是,我们最多可以有100子域,我怕的方法mutlidomain-SSO将减缓登录过程,因为它是通过AJAX访问每个子域。

我怎样才能登录到一个子域,并登录到其他子域100也?

php session login cross-domain subdomain
1个回答
2
投票

登录是基于cookie和session数据。你需要设置PHP会话ID(PHPSESSID)与主域cookie来设置。你可以在主域名登录,或者设置cookie来访问您的域和子域。


$currentCookieParams = session_get_cookie_params();
$rootDomain = '.example.com';
session_set_cookie_params(
    $currentCookieParams["lifetime"],
    $currentCookieParams["path"],
    $rootDomain,
    $currentCookieParams["secure"],
    $currentCookieParams["httponly"]
);
session_name('mysessionname');
session_start();
setcookie($cookieName, $cookieValue, time() + 3600, '/', $rootDomain);
?>

© www.soinside.com 2019 - 2024. All rights reserved.