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

TYPO3 10.4.36前端登录无法找到用户问题求助

TYPO3 10.4.36前端登录失效(pid签名验证问题)解决办法

问题根源

TYPO3 10.4.36版本对前端用户认证的pid参数新增了签名验证逻辑,如果你还是直接提交未签名的pid隐藏字段,系统会判定该参数无效,自动 fallback 到pid IN (0)查询,自然找不到指定存储文件夹里的前端用户,就会出现AuthenticationService: Login-attempt from username '*' not found!的日志。

解决步骤

1. 生成带签名的pid值

在渲染登录表单的PHP代码(比如控制器或模板的PHP部分)中,用TYPO3内置的HashService生成签名后的pid:

use TYPO3\CMS\Core\Security\HashService;
use TYPO3\CMS\Core\Utility\GeneralUtility;

// 替换成你的前端用户存储文件夹ID
$storagePid = 123;
// 获取HashService实例并生成签名
$hashService = GeneralUtility::makeInstance(HashService::class);
$signedPid = $hashService->appendHmac((string)$storagePid);

2. 更新登录表单的隐藏字段

把原来的pid隐藏字段替换为带签名的checkPid_value字段:

<!-- 移除原来的未签名pid字段 -->
<!-- <input type="hidden" name="pid" value="123"> -->

<!-- 添加带签名的checkPid_value字段 -->
<input type="hidden" name="checkPid_value" value="<?= htmlspecialchars($signedPid) ?>">

验证修复

提交登录请求后,查看TYPO3的认证日志,如果日志不再出现找不到用户的提示,同时调试SQL查询能看到使用了正确的存储文件夹pid,说明问题已经解决。

内容的提问来源于stack exchange,提问作者Falk Berger

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:35:06