Практические решения

Автоматический редирект на страницу авторизации Joomla

Joomla
Добавление в избранное
Сохранить

Автоматический редирект на страницу авторизации Joomla

Допустим, у вас есть пункт меню, который можно использовать, только войдя в систему. Хотите ли вы, чтобы все пользователи видели ссылку в меню? Если пользователь вошел в систему, он может выбрать соответствующий пункт и пройти далее по ссылке. Если же установить к этому пункту «уровень доступа»: зарегистрированные и авторизованные пользователи увидят ошибку 403, что было бы не очень хорошим решением. И, наоборот, неавторизованные пользователи смогут:

  • Попасть на страницу входа в систему;
  • После того, как они успешно вошли продолжить просмотр страницы, с которой они были перенаправлены.

 Если пользователь незарегистрирован, он получит предложение о регистрации или предложение перейти на другую страницу.

Ниже приведены советы, с помощью которых возможно правильно настроить страницу авторизации Joomla:

  • Создайте новый пункт меню и назовите «Скрытое меню»;
  • Не создавайте меню для этого блока (модуля). Он не будет виден ни на одной странице, так что модуль не нужен;
  • Добавьте к меню ссылки, которые будут доступны только зарегистрированным и авторизованным пользователям. В настройках укажите необходимый уровень доступа;
  • Создайте действующее меню (например: главное меню) и ссылку на меню, которая будет доступна всем пользователям;
  • При создании пункта меню выберите объект «Псевдоним пункта меню». В параметре «Пункт меню» (выпадающий список справа) выберите ссылку из скрытого меню. Поставьте уровень доступа General, чтобы он был доступен всем пользователям;

Создание пункта меню Joomla

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

Теперь незарегистрированный посетитель сайта при выборе соответствующего меню будет перенаправлен на страницу входа в систему, а после успешнй авторизации - на указанную в настройках страницу. Если все происходит в оффлайн, он сразу будет перенаправлен на нужную страницу. Такой способ работает как в Joomla! 1.5, так и в версиях начиная от Joomla! 1.7 и старше.

У этого метода есть свои недостатки. Например, если в случае со скрытым меню включена опция «зарегистрированный/special», это не очень удобно. Таким же способом можно использовать страницу 403 для перенаправления, используя метод авторизации (Account Login method) в Joomla! 1.5.

Оригинальная статья: Pawel Frankowski
Katerina Vorobyova
Переводчик, IT любитель, фотомодель.

Подпишитесь на рассылку новостей CMScafe