Permalink
Browse files

Allow AuthComponent to deny all actions with single deny() or deny('*')

  • Loading branch information...
1 parent 1244656 commit 5246e7dd1da92ae8a2959ff5a0d5349ac47c7f57 @Danielpk Danielpk committed Oct 27, 2011
Showing with 12 additions and 8 deletions.
  1. +12 −8 lib/Cake/Controller/Component/AuthComponent.php
@@ -461,16 +461,20 @@ public function allow($action = null) {
*/
public function deny($action = null) {
$args = func_get_args();
- 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]);
+ if(empty($args) || $args == array('*')){
+ $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]);
+ }
}
+ $this->allowedActions = array_values($this->allowedActions);
}
- $this->allowedActions = array_values($this->allowedActions);
}
/**

0 comments on commit 5246e7d

Please sign in to comment.