Форум русской поддержки Joomla!® CMS
09.12.2016, 13:47:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

[Будет исправлено в 3.4.2] Редирект при авторизации из штатного модуля авторизации

 (Прочитано 896 раз)
0 Пользователей и 1 Гость смотрят эту тему.
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6460



« : 02.04.2015, 14:30:25 »

Есть пункт меню (скрытый), который ссылается на компонент, ссылка index.php?option=com_ai_mfo&view=list, алиас пункта меню personal.

При попытке авторизации заблокированного пользователя из формы авторизации com_users (/component/users/?view=login) выводит нормальный ответ "Вход запрещён! Ваша учётная запись заблокирована или ещё не активирована", о том, что пользователь заблокирован.

При попытке авторизации заблокированного пользователя из формы штатного модуля mod_login (), в котором указано перенаправление при входе на пункт меню personal, происходит редирект не на /component/users/?view=login, как это было до J3.4, а на /component/ai_mfo/list.html, хотя и с выводом сообщения о том, что учетка блокирована.

Баг? или что-то не так у меня?
« Последнее редактирование: 11.04.2015, 20:15:09 от b2z » Записан
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6460



« Ответ #1 : 02.04.2015, 14:32:33 »

Если авторизуется неблокированный пользователь, то редирект идет также на /component/ai_mfo/list.html, а не /personal.html, как положено.
Записан
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6460



« Ответ #2 : 02.04.2015, 14:48:55 »

Выявил, что в J3.4 изменили в хелпере модуля функцию getReturnURL() таким образом, чтобы она возвращала для редиректа URL не на пункт меню, а на ссылку из этого пункта меню, весьма упростив саму функцию.
Косяк, имхо, баг. Лучше тогда уж сделали бы параметр-переключатель в настройках модуля: кому надо - в меню, кому надо - непосредственно в компонент.
Вернул себе целиком хелпер из J3.3.6.
Записан
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6460



« Ответ #3 : 06.04.2015, 08:32:40 »

Что, никто более не столкнулся с проблемой?
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7538


Разраблю понемногу


« Ответ #4 : 06.04.2015, 11:47:12 »

А може раньше был баг? Имхо, по правильному редирект должен идти на ссылку из пункта меню.
Записан
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6460



« Ответ #5 : 06.04.2015, 12:32:40 »

Т.е. правильно - на /component/имя_компонента/вид ? А зачем тогда привязка к пункту меню, на котором права выставлены?
Это началось в 3.4.0, до этого что, два года с момента выхода тройки баг был? а на 2.5 до сих пор баг?

Тогда в модуле надо не пункт меню указывать, а просто поле для указания non-sef-url, в идеале - выбор типа, как в том же пункте меню, в т.ч непосредственно сам пункт меню.
« Последнее редактирование: 06.04.2015, 12:51:55 от AlekVolsk » Записан
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6460



« Ответ #6 : 06.04.2015, 12:56:05 »

В шаблоне вида компонента, на который ссылается пункт меню, у меня имеет место быть такой код, в самом начале:
Код
<?php defined('_JEXEC') or die;
if (JFactory::getUser()->guest)
 JError::raiseError(401, 'Restricted access');

Теперь же мне придется делать редирект на com_users/login и выдавать соответствующее сообщение ручками. Нафига мне тогда весь механизм J, если я вынужден его дублировать в своем компоненте? Кстати, установка прав в админке для паблик и гостя на доступ к компоненту стоит "Запрещено", но это не работает для фронта.
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7538


Разраблю понемногу


« Ответ #7 : 06.04.2015, 13:04:29 »

Хмм, может это фикс?
https://github.com/joomla/joomla-cms/commit/3ff315a7887209673e8d8b8eac9045a823877b48

Вообще там потом что-то правили несколько раз:
https://github.com/joomla/joomla-cms/commits/staging/modules/mod_login/helper.php

Возьми этот файл целиком для теста.
Записан
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6460



« Ответ #8 : 06.04.2015, 13:21:01 »

Взял последние изменения с ночных билдов. Да, теперь это исправили, даже в настройках модуля для выбора стали доступны только те пункты, которые ссылаются только на внутренние страницы и не являются якорями/алиасами/разделителями (раньше доступны были все подряд).
На боевых сайтах оставил пока версию от 3.3.6, посмотрим, что выйдет в оф.обнове.
Все-таки это баг.
Записан
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6460



« Ответ #9 : 06.04.2015, 13:47:48 »

Взял последние изменения с ночных билдов.
А именно - для интересующихся - отсюда: http://developer.joomla.org/cms-packages/Joomla_3.4.1_to_3.4.2-dev-Development-Patch_Package.zip
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet