You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drupal本地实例禁用SAML登录遇阻:无法登录后台求助

解决Drupal本地环境SAML登录模块残留配置导致的登录报错

问题场景

  • 本地Drupal环境前端运行正常,但访问/user/login进入管理后台时出现报错:

    The website encountered an unexpected error. Please try again later.

  • 代码库包含simplesaml文件夹,推测负责处理SAML登录;本地无需使用SSO,已尝试禁用相关扩展:
    1. 检查core.extension.yml,已将basic_auth、externalauth、simplesamlphp_auth设为0(标记为未激活状态)
    2. 在settings.local.php中添加配置:$config['simplesamlphp_auth.settings']['activate'] = FALSE;
  • 日志报错详情:
    Uncaught PHP Exception SimpleSAML\Error\Exception: "Could not find the metadata of an IdP with entity ID 'localhost:default:entityId'" at /vendor/simplesamlphp/simplesamlphp/modules/saml/lib/Auth/Source/SP.php line 317
    
  • 拥有数据库访问权限,需明确具体修改位置。

解决方案

1. 清理数据库残留配置

模块禁用后,数据库中可能仍留存SAML相关的配置项,导致登录页触发错误。操作前请备份数据库,然后执行以下SQL:

-- 删除simplesamlphp_auth相关的所有配置
DELETE FROM config WHERE name LIKE 'simplesamlphp_auth.%';

2. 强制切换默认认证方式

Drupal可能仍将SAML设为默认认证提供者,需强制切换回内置密码认证:
在settings.local.php中添加以下配置:

$config['user.settings']['auth'] = 'core.password';

3. 清除Drupal缓存

确保新配置生效,执行缓存清理:

  • 若本地安装了Drush,运行命令:
    drush cr
    
  • 若无Drush,手动删除sites/default/files/php目录下的所有文件,以及sites/default/files/config_*目录中的缓存文件(注意保留.htaccess等系统文件)。

4. 彻底移除模块文件(可选)

若上述操作后问题仍存在,可直接删除代码库中的simplesaml文件夹,以及modules/contrib目录下的simplesamlphp_auth模块文件夹(如果存在),避免系统加载相关文件。

内容的提问来源于stack exchange,提问作者Happy Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 18:15:42