#1457 - Redirection after login doesn't behave correctly if login fails (merged from 2.1.1 branch, r43601)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@44197 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Andrew O'Neil 2007-11-04 21:30:57 +00:00
parent a462cd2c20
commit 1509d413e5
2 changed files with 17 additions and 11 deletions

View File

@ -102,13 +102,17 @@ class MemberLoginForm extends LoginForm {
if($backURL = $_REQUEST['BackURL']) {
Session::clear("BackURL");
Director::redirect($backURL);
} else
Director::redirectBack();
} else {
Director::redirectBack();
}
} else {
Session::set('SessionForms.MemberLoginForm.Email', $data['Email']);
Session::set('SessionForms.MemberLoginForm.Remember',
isset($data['Remember']));
Session::set('SessionForms.MemberLoginForm.Remember', isset($data['Remember']));
if(isset($_REQUEST['BackURL']) && $backURL = $_REQUEST['BackURL']) {
Session::set('BackURL', $backURL);
}
if($badLoginURL = Session::get("BadLoginURL")) {
Director::redirect($badLoginURL);
} else {
@ -193,4 +197,4 @@ class MemberLoginForm extends LoginForm {
}
?>
?>

View File

@ -108,15 +108,17 @@ class OpenIDLoginForm extends LoginForm {
OpenIDAuthenticator::authenticate($data, $this);
// If the OpenID authenticator returns, an error occured!
Session::set('SessionForms.OpenIDLoginForm.OpenIDURL',
$data['OpenIDURL']);
Session::set('SessionForms.OpenIDLoginForm.OpenIDURL', $data['OpenIDURL']);
if(isset($_REQUEST['BackURL']) && $backURL = $_REQUEST['BackURL']) {
Session::set('BackURL', $backURL);
}
if($badLoginURL = Session::get("BadLoginURL")){
Director::redirect($badLoginURL);
} else {
// Show the right tab on failed login
Director::redirect(Director::absoluteURL(Security::Link("login")) .
'#' . $this->FormName() .'_tab');
Director::redirect(Director::absoluteURL(Security::Link("login")) . '#' . $this->FormName() .'_tab');
}
}
@ -137,4 +139,4 @@ class OpenIDLoginForm extends LoginForm {
}
?>
?>