gpt4 book ai didi

laravel - 在 Laravel 5 中跨子域保持 session

转载 作者:行者123 更新时间:2023-12-03 08:46:26 24 4
gpt4 key购买 nike

使用 5.0

在 config/session.php 中我设置了 'domain' => '.example.com'但它不起作用。我什至无法在这样的一个域上保持 session 。

我的网站有许多子域:

vancouver.example.com
newyork.example.com

等等...它们托管在同一台服务器上并且是同一个 Laravel 应用程序(共享同一个存储目录)

我使用正确的凭据登录,然后应用程序重定向到站点上的另一个页面,此时我没有 session 。 var_dump(Auth::user())显示 null即使我使用正确的凭据登录。
storage/framework/sessions在那里显示了 14 个不同的文件,它们都是给我的,我在开始测试之前将它们清除了。

我将在下面附上我的 AuthController@postLogin 方法,如果 session.php 'domain' => null 可以正常工作
public function postLogin(Request $request)
{
$this->validate($request, [
'email' => 'required|email', 'password' => 'required',
]);

$credentials = $request->only('email', 'password');

if ($this->auth->attempt($credentials, $request->has('remember'))) {
Session::flash('message', 'You are now logged in.');
Session::flash('status', 'success');

if (str_contains($_SERVER['HTTP_REFERER'], '?goto=')) {
$params = explode('?', $_SERVER['HTTP_REFERER'])[1];
$target = explode('=', $params)[1];
} else {
$target = '/';
}

return redirect($target);
}

return redirect($this->loginPath())
->withInput($request->only('email', 'remember'))
->withErrors([
'email' => $this->getFailedLoginMessage(),
]);
}

最佳答案

弄清楚了。更新 domain => '.example.com'在 session.php 中并清除相关站点的 cookie。

关于laravel - 在 Laravel 5 中跨子域保持 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30338518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com