TYPO3 没有用户名的密码保护

TYPO3 password protection without username

我想在我的网站上有一个受密码保护的子页面。应该有一个允许访问该站点的 6 位密码列表。但是,我不希望用户输入用户名。他应该只输入 6 位密码之一。

有什么想法,我该如何实现?

使用 Typo3 机制,密码总是与用户名相关联,我认为你应该自己做:

  • 如果内容来自您的扩展程序之一,您可以轻松做到
  • 如果不是这种情况,我认为您可以在显示页面之前使用挂钩并在该挂钩中管理密码访问
  • 或者您可以制作一个特定的模板,您可以使用该模板有条件地管理渲染

TYPO3 的默认登录使用用户名和密码。如果您只需要 1 个密码,您可以创建 1 个用户并使用自定义模板,用户名位于隐藏字段中。但是,由于您需要多个密码,如果不创建您自己的身份验证服务,则没有默认方法。

在这里解释如何创建身份验证服务有点多,但是您可以在这里阅读文档https://docs.typo3.org/m/typo3/reference-coreapi/9.5/en-us/ApiOverview/Authentication/Index.html

你也可以看看https://github.com/tschikarski/shibboleth这样的例子,虽然比较复杂,但你主要需要看一下ext_localconf.php中的\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addService和[=12] =] 和 authUserClasses/ShibbolethAuthentificationService.php.

中的函数

为什么不反转用法?

使用所选密码作为用户名创建 FE 用户,然后为所有用户分配相同的密码。

对于您更改登录表单的登录:

  • 密码字段获得默认值(您设置的密码 所有帐户)并且已隐藏
  • 用户名的输入字段更改为浏览器密码字段,因此输入被星号隐藏。

然后您可能会更改错误消息,因为它们会使用户混淆他的用户名,因此他只输入 "password"。