我有多个子域,它们都使用相同的数据库使用相同的用户表。 当我登录到a.domain.com我想也到b.domain.com要记录等。
我发现多领域-SSO(https://github.com/0k/multidomain-sso),但我们的问题是,我们最多可以有100子域,我怕的方法mutlidomain-SSO将减缓登录过程,因为它是通过AJAX访问每个子域。
我怎样才能登录到一个子域,并登录到其他子域100也?
登录是基于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);
?>