Skip to content
Permalink
Browse files

Rebalance where URL normalization happens in AuthComponent.

Make URL's not include the base path when storing them in the session.
This makes future redirection simpler. When URL's are an array use
Router::url() on them.

Fixes #3916
  • Loading branch information...
markstory committed Jul 13, 2013
1 parent e016f11 commit d40c7376cebaec118221f2c0582c97260e977e68
Showing with 5 additions and 3 deletions.
  1. +5 −3 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;
}
/**

0 comments on commit d40c737

Please sign in to comment.
You can’t perform that action at this time.