首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户登录失败Drupal 8

用户登录失败Drupal 8
EN

Stack Overflow用户
提问于 2019-04-16 10:19:20
回答 2查看 1.3K关注 0票数 0

我已经开发了一个网站在Drupal 8,并已部署到生产。我已经为我的内容管理团队创建了7-8个其他帐户,并授予他们创建、编辑和删除内容的有限特权。

最近,我在用户登录表单上遇到了一个问题,在这个表单中,登录是零星的。有时我能够在第一次尝试中作为管理员登录,有时我没有。在后一种情况下,我必须通过电子邮件重置我的密码使用重置密码选项。但是,这种方法只暂时适用于单个会话,这意味着一旦我退出,我就无法登录。我的内容经理也遇到了同样的问题。

我试过以下几种方法,但没有运气。

  1. 从数据库中手动截断洪流、会话以及所有缓存表和洪泛表。
  2. 禁用登录表单中的Recaptcha模块。
  3. 启用和禁用HTTP基本身份验证模块。
  4. 通过settings.php文件禁用服务器代理配置。
  5. 通过运行update.php文件执行Drupal更新。
  6. 未处理登录中的不正确用户名和/或密码错误。当输入不正确的用户名/密码时,页面只刷新而不显示任何自定义消息。

编辑:我刚刚观察到,我很幸运地忘记了从另一个浏览器火狐上作为超级管理员登录。为了解决这个问题,我做了进一步的调查,并观察到了一个模式。当我从Firefox (幸运地忘记注销)手动清除缓存时,我可以作为管理员登录。但是,这只适用于一个会话,这意味着在注销之后,bug会再次出现。为了使登录再次按预期工作,我必须再次清除Firefox中的缓存。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-24 10:26:54

好的,经过近一周的努力,我找到了一个解决这个问题的工作方法:卸载内部动态页面缓存和内部页面缓存模块。

问题是,用户登录表单是在成功登录后缓存的。使用工具,下面的响应头由Drupal设置并发送。

代码语言:javascript
复制
X-Drupal-Dynamic-Cache: HIT

为了消除这个问题,我不得不卸载上面的两个模块。

然而,这只是一个解决方案,而不是一个解决方案,因为禁用这两个模块将与站点性能进行权衡。

任何人谁知道这个问题的解决办法,请张贴在这里。我将试用它们并更新这个空间。

提前谢谢你。

票数 0
EN

Stack Overflow用户

发布于 2021-02-05 10:01:39

我在本地环境中也有问题,也有一个自定义登录表单。行为是不一样的,因为对我来说。

这是在清除缓存drush cr之后进行的第一次登录尝试,即使在日志中记录用户已成功登录,也会失败。

我在我的控制器中修复了它,使用了来自核心core/modules/user/src/Plugin/Block/UserLoginBlock.php的一些代码

代码语言:javascript
复制
$form = $this->formBuilder()->getForm('Drupal\user\Form\UserLoginForm');

$placeholder = 'form_action_p_4r8ITd22yaUvXM6SzwrSe9rnQWe48hz9k1Sxto3pBvE';
$form['#attached']['placeholders'][$placeholder] = [
  '#lazy_builder' => ['\Drupal\user\Plugin\Block\UserLoginBlock::renderPlaceholderFormAction', []],
];
$form['#action'] = $placeholder;

$build['user_login_form'] = $form;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55705840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档