【发布时间】:2015-01-05 20:24:09
【问题描述】:
我有一个网站,成功登录后会重定向到会员页面:
_config.php
Security::set_default_login_dest( '/join/' );
但是,当用户经历忘记密码/更改密码过程时,它的行为如下:
- /join/ - 用户从会员页面开始
- /Security/lostpassword - 用户点击“忘记密码”链接
- /Security/passwordsent/user%40example.com - 密码发送给用户
- /Security/changepassword?m=28&t=8dfeb7655db... - 用户点击电子邮件中的密码
- /Security/changepassword - 提示用户更改密码
- /Security/login?BackURL=http%3A%2F%2Fwww.example.com%2F - 用户被重定向到登录页面
第 6 步的预期行为是将用户重定向到 default_login_dest - /join/
ChangePasswordForm.php 有以下代码控制重定向的位置:
if(isset($_REQUEST['BackURL'])) {
$backURL = $_REQUEST['BackURL'];
} else {
$backURL = Session::get('BackURL');
}
但是 CMSMemberLoginForm.php 有这个代码:
if (Security::config()->default_login_dest) {
return $this->controller->redirect(Director::absoluteBaseURL() . Security::config()->default_login_dest);
}
如何使 ChangePasswordForm 重定向到 default_login_dest?
【问题讨论】:
标签: php silverstripe