.. include:: /Includes.rst.txt .. _frontend-login: ==================== Авторизация на сайте ==================== Можно задать настройки так, чтобы содержимое или страницы были видны только тем пользователям сайта, которые авторизовались в системе. .. _frontend-login-users: Пользователи сайта ================== Концепция TYPO3 :ref:`внутреннего (backend) и внешнего (frontend) интерфейсов` объясняется в учебном пособии "Начало работы". Можно использовать концепцию фронтенд-пользователей (посетителей сайта) для создания содержимого, предназначенного только для авторизованных пользователей, и ограничить доступ к страницам и элементам содержимого, требуя входа в систему. Пользователи сайта всегда входят в группы внешних пользователей сайта. Доступ предоставляется группам, а не непосредственно пользователям. Пользователи и группы определяются, как и любые другие записи, и хранятся на соответствующей странице во внутреннем интерфейсе. .. _Create-a-Usergroup: Создание группы пользователей и пользователя ============================================ #. Создайте в дереве страниц новую папку и назовите ее "Frontend users" (внешние пользователи). .. include:: /Images/AutomaticScreenshots/Access/AccessUserFolder.rst.txt #. Перейдите в модуль :guilabel:`Веб > Список` / :guilabel:`Web > List` и выберите новую папку. #. Щелкните на значке **+** :guilabel:`Создать новую запись` / :guilabel:`Create new record` в левой верхней части окна. На экране появится мастер "Новая запись" / "New record". .. include:: /Images/AutomaticScreenshots/Access/AccessNewRecordWizard.rst.txt #. Нажмите кнопку :guilabel:`Группа пользователей сайта` / :guilabel:`Website Usergroup` для создания новой группы посетителей сайта. #. Назовите её "Private Area" (Личный кабинет). .. include:: /Images/AutomaticScreenshots/Access/AccessNewGroup.rst.txt #. Сохраните и закройте запись. #. Снова воспользуйтесь мастером "Новая запись" / "New record", но на этот раз создайте :guilabel:`Пользователя сайта` / :guilabel:`Website User`. #. Введите имя пользователя, пароль и щелкните на группе "Private Area" (Личный кабинет), чтобы добавить к ней пользователя. .. include:: /Images/AutomaticScreenshots/Access/AccessNewUser.rst.txt При необходимости можно добавить дополнительную информацию на вкладке :guilabel:`Персональные данные` / :guilabel:`Personal Data`. #. Сохраните и закройте запись. .. _frontend-login-rights: Назначение прав доступа ======================= Теперь, когда имеется хотя бы одна группа и пользователь, назначенный в эту группу, можно назначить разграничение доступа. Это делается на вкладке :guilabel:`Доступ` / :guilabel:`Access` свойств страницы или свойств элемента содержимого. .. include:: /Images/AutomaticScreenshots/Access/AccessRightsItems.rst.txt .. note:: В списке групп по умолчанию появляются две группы. Они всегда доступны, их нельзя редактировать или удалять. * Группа "Скрывать при входе" / "Hide at login" означает, что элемент будет виден только тогда, когда пользователь не прошел аутентификацию. * Группа "Показывать при любом входе" / "Show at any login" используется для элементов, для доступа к которым требуется аутентификация, но которые могут видеть все группы авторизованных пользователей сайта. #. Перейдите в модуль :guilabel:`Веб > Страница` / :guilabel:`Web > Page` и создайте новую страницу под названием "Members only" / "Только для пользователей". #. Добавьте на страницу "Members only" / "Только для пользователей" элемент текстового содержимого, вроде "Для доступа в личный кабинет необходимо пройти аутентификацию". #. На вкладке :guilabel:`Доступ` / :guilabel:`Access` выберите для него группу "Скрывать при входе" / "Hide at login". #. Сохраните и закройте запись. #. Добавьте на страницу еще один элемент-текст, содержащий что-то вроде "Добро пожаловать в приватную область". #. На вкладке :guilabel:`Доступ` / :guilabel:`Access` выберите для него группу "Private Area" (Личный кабинет). #. Сохраните и закройте запись. Должно получиться что-то вроде этого: .. include:: /Images/AutomaticScreenshots/Access/AccessRestrictContent.rst.txt Попробуйте установить для всей страницы доступ "Private Area" (Личный кабинет). При сохранении страницы обратите внимание на то, как изменился значок в дереве страницы. Это визуальное напоминание о том, что страница не является общедоступной. Если попытаться получить доступ к странице с ограниченным доступом на сайте, то появится сообщение об ошибке TYPO3 "Страница не найдена". .. _frontend-login-form: Добавление формы авторизации ============================ Следующим шагом будет размещение на сайте блока авторизации, чтобы посетители могли войти в систему для просмотра приватного содержимого. #. На странице "Members only" / "Только для пользователей" нажмите кнопку :guilabel:`+ Содержимое` / :guilabel:`+ Content` между двумя существующими элементами содержимого. #. В мастере создания нового элемента содержимого, перейдите на вкладку :guilabel:`Элементы форм` / :guilabel:`Form elements` и выберете "Форма авторизации" / "Login Form". #. Задайте ей название (например, *Войти*). #. Перейдите на вкладку :guilabel:`Дополнения` / :guilabel:`Plugin`. Для формы входа в систему существует несколько вариантов, но абсолютно необходимым является только один - "Страница хранения данных пользователя" / "User Storage Page". #. С помощью пиктограммы :guilabel:`Выбор записей` / :guilabel:`Browse for records` просмотрите дерево страниц и выберите папку "Web site users" (пользователи сайта). .. include:: /Images/AutomaticScreenshots/Access/AccessLoginForm.rst.txt #. Сохраните и закройте запись. #. Просмотрите страницу. Должно получиться что-то вроде этого: .. include:: /Images/AutomaticScreenshots/Access/AccessPageWithLoginBox.rst.txt #. Введите имя пользователя и пароль, заданные ранее для пользователя внешнего интерфейса (сайта), и появится следующее окно: .. figure:: ../../Images/ManualScreenshots/Access/AccessPageWithAuthenticatedUser.png :alt: Страница с авторизованным пользователем :class: with-border Это лишь краткий обзор формы входа в систему, предоставляемой TYPO3 CMS. Она обладает богатым набором возможностей, которые описаны в руководстве :doc:`Frontend Login`.