Подсистема FW/1 - перенаправление на верхний сайт
Это моя первая попытка подсистем и по большей части дела идут хорошо. У меня возникают проблемы при перенаправлении пользователей с сайта подсистемы на главный верхний сайт, когда сеанс заканчивается.
Здесь может быть структура сайта, она довольно стандартная.
- Я вошел с главного сайта
- Основываясь на моем логине, я перенаправлен в соответствующую подсистему, т. Е. (SubSite1, subSite2)
- Когда моя сессия заканчивается, я хочу перенаправить на mainSite.login, вместо этого он перенаправляет меня на subSite1.login.
У меня вопрос, как мне перенаправить пользователя с сайтов подсистемы на главную учетную запись?
Вот моя структура сайта.
mainSite
-assets
-contorllers
-login.cfc
-security.cfc
-framework
-layouts
-model
-subsystems
-subSite1
-controllers
-layouts
-model
-views
-main
-default.cfm
application.cfc
index.cfm
-subSite2
...
-views
-login
-default.cfm (login form)
application.cfc
index.cfm
Файл /mainSite/controllers/security.cfm прямо из загрузки FW/1 с небольшими изменениями для моих нужд. Я пытался обновить редирект в функции authorize(), но мне не повезло. Заранее спасибо за ваши идеи.
component {
function init( fw ) {
variables.fw = fw;
}
function session( rc ) {
// set up the user's session
session.auth = {};
session.auth.isLoggedIn = false;
session.auth.fullname = 'Guest';
}
function authorize( rc ) {
// check to make sure the user is logged on
if (not(structKeyExists(session, "auth") && session.auth.isLoggedIn ) && !listfindnocase('login', variables.fw.getSection() ) && !listfindnocase('main.error', variables.fw.getFullyQualifiedAction() )) {
variables.fw.redirect('login');
}
}
}
2 ответа
Вы должны предоставить то, что по существу равносильно полному перенаправлению. Если ваша подсистема по умолчанию ("верхнего уровня") называется "основной", а секция по умолчанию называется "основной", то это будет выглядеть так:
variables.fw.redirect('main:main.login');
Я смог получить желаемый результат с помощью location().
//variables.fw.redirect('login');
location(url="/mainSite/login");
Я хочу обновить этот ответ на случай, если другие столкнутся с тем же сценарием. Шон Корфилд предоставил ответ в группе FW/1 Google. Вот ссылка https://groups.google.com/forum/
variables.fw.redirect(':login');