Защита паролем TYPO3 без имени пользователя - PullRequest
1 голос
/ 01 октября 2019

Я хочу, чтобы на моем сайте была подстраница, защищенная паролем. Должен быть список из 6-значных паролей, которые разрешают доступ к сайту. Однако я не хочу, чтобы пользователь вводил имя пользователя. Он должен ввести только один из 6-значных паролей.

Есть идеи, как мне этого добиться?

Ответы [ 3 ]

1 голос
/ 01 октября 2019

Вход по умолчанию для TYPO3 использует имя пользователя и пароль. Если вам нужен только 1 пароль, вы можете создать 1 пользователя и использовать пользовательский шаблон с именем пользователя в скрытом поле. Однако, поскольку вам нужно несколько паролей, по умолчанию не существует способа сделать это без создания собственной службы аутентификации.

Немного много объяснить, как создать службу аутентификации здесь, но вы можете прочитать документацию здесьhttps://docs.typo3.org/m/typo3/reference-coreapi/9.5/en-us/ApiOverview/Authentication/Index.html.

Вы также можете посмотреть на пример, подобный https://github.com/tschikarski/shibboleth,, который довольно сложный, но вам, в основном, нужно взглянуть на \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addService в ext_localconf.php и getUserи authUser функции в Classes/ShibbolethAuthentificationService.php.

1 голос
/ 01 октября 2019

Почему бы не отменить использование?

Создать пользователей FE с выбранными паролями в качестве имени пользователя, затем назначить всем пользователям один и тот же пароль.

Для входа в систему вы меняете форму входа в систему. :

  • Поле пароля получает значение по умолчанию (пароль, который вы установили для всех учетных записей) и является скрытым
  • Поле ввода имени пользователя изменяется в поле пароля браузера, поэтомуВвод скрыт звездочками.

Тогда вы можете изменить сообщения об ошибках, так как они могут ввести пользователя в заблуждение относительно его имени пользователя, поэтому он вводит только «пароль».

1 голос
/ 01 октября 2019

С механизмом Typo3 пароль всегда связан с именем пользователя, я думаю, что вы должны сделать это самостоятельно:

  • , если содержимое принадлежит одному из ваших расширений, вы можете легко это сделать
  • если это не так, я думаю, что вы можете использовать ловушку перед отображением страницы и управлять доступом к паролю в этой ловушке
  • или вы можете создать специальный шаблон, с помощью которого вы можете условно управлять рендерингом
...