如何让TYPO3为已登录后端用户生成差异化前端输出
TYPO3 后端登录用户前端专属内容渲染缓存问题解决方案
问题描述
现有需求为:在前端绝大多数以fluid_styled_content为主的内容元素中,为已登录的后端用户输出额外数据,包括内容元素编辑链接、附加提示信息等。
最初尝试在<f:be.security.ifAuthenticated>标签内插入额外Fluid代码实现该逻辑,理论上该标签可满足后端用户身份判定需求,但实际运行时渲染结果会被前端缓存,会引发两类异常:
- 后端登录用户无法看到专属的额外数据
- 未登录后端的普通访客反而看到不属于自身权限的异常内容
现需寻找可规避该缓存问题的可行方案。
已构思的待落地思路
目前已初步梳理出4个实现方向,需明确各方向的具体实现路径:
- 为后端用户匹配独立的渲染模板
- 针对后端用户单独禁用缓存的读写逻辑
- 自动为后端用户分配前端用户组,借助TYPO3按前端用户组生成独立缓存条目的机制实现差异化输出
- 通过JavaScript渲染额外输出内容、单独发起接口请求拉取对应数据:该方案可兼容全用户缓存逻辑,但实现复杂度高,且仍需完成后端/非后端用户身份判定,优先不考虑该实现路径
方案准入要求
可行解决方案必须满足以下规则:
- 未登录后端的普通用户访问时,前端原有缓存机制需保持正常生效
- 后端用户访问时不强制要求缓存生效,若方案可兼容现有缓存机制则为加分项
- 无需针对不同后端用户做更细粒度的输出差异区分
内容的提问来源于stack exchange,提问作者Thomas Luzat
相关产品推荐
相关产品推荐

