Skip to content

Commit

Permalink
Merge pull request #840 from dogmatic69/cleanup-auth-component
Browse files Browse the repository at this point in the history
Cleaning up the AuthComponent
  • Loading branch information
markstory committed Sep 14, 2012
2 parents c13ed33 + 2c70319 commit 1fe7913
Showing 1 changed file with 33 additions and 31 deletions.
64 changes: 33 additions & 31 deletions lib/Cake/Controller/Component/AuthComponent.php
Expand Up @@ -300,23 +300,24 @@ public function startup(Controller $controller) {
}
}
return true;
} else {
if (!$this->_getUser()) {
if (!$request->is('ajax')) {
$this->flash($this->authError);
$this->Session->write('Auth.redirect', $request->here());
$controller->redirect($loginAction);
return false;
} elseif (!empty($this->ajaxLogin)) {
$controller->viewPath = 'Elements';
echo $controller->render($this->ajaxLogin, $this->RequestHandler->ajaxLayout);
$this->_stop();
return false;
} else {
$controller->redirect(null, 403);
}
}

if (!$this->_getUser()) {
if (!$request->is('ajax')) {
$this->flash($this->authError);
$this->Session->write('Auth.redirect', $request->here());
$controller->redirect($loginAction);
return false;
}
if (!empty($this->ajaxLogin)) {
$controller->viewPath = 'Elements';
echo $controller->render($this->ajaxLogin, $this->RequestHandler->ajaxLayout);
$this->_stop();
return false;
}
$controller->redirect(null, 403);
}

if (empty($this->authorize) || $this->isAuthorized($this->user())) {
return true;
}
Expand Down Expand Up @@ -360,7 +361,8 @@ protected function _setDefaults() {
public function isAuthorized($user = null, $request = null) {
if (empty($user) && !$this->user()) {
return false;
} elseif (empty($user)) {
}
if (empty($user)) {
$user = $this->user();
}
if (empty($request)) {
Expand Down Expand Up @@ -428,12 +430,12 @@ public function allow($action = null) {
$args = func_get_args();
if (empty($args) || $action === null) {
$this->allowedActions = $this->_methods;
} else {
if (isset($args[0]) && is_array($args[0])) {
$args = $args[0];
}
$this->allowedActions = array_merge($this->allowedActions, $args);
return;
}
if (isset($args[0]) && is_array($args[0])) {
$args = $args[0];
}
$this->allowedActions = array_merge($this->allowedActions, $args);
}

/**
Expand All @@ -454,18 +456,18 @@ public function deny($action = null) {
$args = func_get_args();
if (empty($args) || $action === null) {
$this->allowedActions = array();
} else {
if (isset($args[0]) && is_array($args[0])) {
$args = $args[0];
}
foreach ($args as $arg) {
$i = array_search($arg, $this->allowedActions);
if (is_int($i)) {
unset($this->allowedActions[$i]);
}
return;
}
if (isset($args[0]) && is_array($args[0])) {
$args = $args[0];
}
foreach ($args as $arg) {
$i = array_search($arg, $this->allowedActions);
if (is_int($i)) {
unset($this->allowedActions[$i]);
}
$this->allowedActions = array_values($this->allowedActions);
}
$this->allowedActions = array_values($this->allowedActions);
}

/**
Expand Down

0 comments on commit 1fe7913

Please sign in to comment.