Browse Source

Fixes test break.

tags/2.0.0-rc
Qiang Xue 11 years ago
parent
commit
66842a4806
  1. 4
      framework/filters/AccessControl.php
  2. 6
      framework/rbac/BaseManager.php
  3. 4
      framework/rbac/Rule.php

4
framework/filters/AccessControl.php

@ -65,8 +65,8 @@ class AccessControl extends ActionFilter
* function ($rule, $action)
* ~~~
*
* where `$rule` is this rule, and `$action` is the current [[Action|action]] object.
* `$rule` will be `null` if access is denied because none of the rules matched.
* where `$rule` is the rule that denies the user, and `$action` is the current [[Action|action]] object.
* `$rule` can be `null` if access is denied because none of the rules matched.
*/
public $denyCallback;
/**

6
framework/rbac/BaseManager.php

@ -190,19 +190,21 @@ abstract class BaseManager extends Component implements ManagerInterface
* If the item does not specify a rule, this method will return true. Otherwise, it will
* return the value of [[Rule::execute()]].
*
* @param string|integer $user the user ID. This should be either an integer or a string representing
* the unique identifier of a user. See [[\yii\web\User::id]].
* @param Item $item the auth item that needs to execute its rule
* @param array $params parameters passed to [[ManagerInterface::checkAccess()]] and will be passed to the rule
* @return boolean the return value of [[Rule::execute()]]. If the auth item does not specify a rule, true will be returned.
* @throws InvalidConfigException if the auth item has an invalid rule.
*/
protected function executeRule($item, $params)
protected function executeRule($user, $item, $params)
{
if ($item->ruleName === null) {
return true;
}
$rule = $this->getRule($item->ruleName);
if ($rule instanceof Rule) {
return $rule->execute($item, $params);
return $rule->execute($user, $item, $params);
} else {
throw new InvalidConfigException("Rule not found: {$item->ruleName}");
}

4
framework/rbac/Rule.php

@ -35,8 +35,8 @@ abstract class Rule extends Object
*
* @param string|integer $user the user ID. This should be either an integer or a string representing
* the unique identifier of a user. See [[\yii\web\User::id]].
* @param Item $item the auth item that this rule is associated with
* @param array $params parameters passed to [[ManagerInterface::allow()]].
* @param Item $item the role or permission that this rule is associated with
* @param array $params parameters passed to [[ManagerInterface::checkAccess()]].
* @return boolean a value indicating whether the rule permits the auth item it is associated with.
*/
abstract public function execute($user, $item, $params);

Loading…
Cancel
Save