diff --git a/lib/Cake/Controller/Component/AuthComponent.php b/lib/Cake/Controller/Component/AuthComponent.php index 7b49ed55c43..833b5f40f08 100644 --- a/lib/Cake/Controller/Component/AuthComponent.php +++ b/lib/Cake/Controller/Component/AuthComponent.php @@ -307,7 +307,6 @@ public function startup(Controller $controller) { if ($loginAction != $url && in_array($action, array_map('strtolower', $this->allowedActions))) { return true; } - if ($loginAction == $url) { if (empty($request->data)) { if (!$this->Session->check('Auth.redirect') && env('HTTP_REFERER')) { @@ -321,7 +320,7 @@ public function startup(Controller $controller) { if (!$this->_getUser()) { if (!$request->is('ajax')) { $this->flash($this->authError); - $this->Session->write('Auth.redirect', $request->here()); + $this->Session->write('Auth.redirect', $request->here(false)); $controller->redirect($loginAction); return false; } @@ -677,7 +676,10 @@ public function redirectUrl($url = null) { } else { $redir = '/'; } - return Router::normalize($redir, false); + if (is_array($redir)) { + return Router::url($redir); + } + return $redir; } /**