这是我对子系统的第一次尝试,而且大部分事情进展顺利。在会话结束时,我无法将使用者从子系统站点重定向到主要顶级站点。
这里可能是网站结构,很标准。
我的问题是,如何将用户从子系统站点重定向到mainSite登录?
这是我的网站结构。
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');
}
}
}
答案 0 :(得分:1)
您需要提供基本上相当于完全限定重定向的内容。如果您的默认("顶级")子系统被调用" main"默认部分名为" main"然后就是这样:
variables.fw.redirect('main:main.login');
答案 1 :(得分:-1)
我能够通过使用location()获得所需的结果。
//variables.fw.redirect('login');
location(url="/mainSite/login");
我希望更新此答案,以防其他人遇到相同的情况。 Sean Corfield为FW / 1 Google小组提供了答案。这是链接https://groups.google.com/forum/#!topic/framework-one/0g7TWQLg3Hs
variables.fw.redirect(':login');