1

我的站点从 Drupal 8.x 升级到 Drupal 9.2.4 (PHP 7.4)。一旦注销然后登录不工作。没有错误或警告,只是页面刷新发生了。我检查了 cookie 与我的旧版本相比,第一次登录和注销后没有设置一个 cookie。

下图会话未设置为第二次登录。

缺少会话图像

在此处输入图像描述

我不确定这是问题所在,也许。

4

1 回答 1

1

我遇到过同样的问题。我在 hook_user_login() 中使用我自己的重定向。从 Drupal 9.1 更新到 Drupal 9.2 后,我的重定向停止工作(没有登录也没有重定向)。我在 Drupal 论坛上发现“登录后重定向违反了 Drupal 钩子的基本合同,因为它正在停止执行”。在同一个论坛上,我发现在发送响应之前保存会话的建议,所以我在我的代码上尝试了这个:

$response = new RedirectResponse($url->toString());
$request = \Drupal::request();

// Save the session so things like messages get saved.
$request->getSession()->save();

$response->prepare($request);
$response->send();

来源:https ://www.drupal.org/project/redirect_after_login/issues/3214949#comment-14138959

于 2021-12-17T15:49:36.837 回答