UserRule.php 906 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace common\modules\rbac\rules;
  3. use common\modules\user\models\User;
  4. use yii\rbac\Item;
  5. use yii\rbac\Rule;
  6. class UserRule extends Rule
  7. {
  8. const RULE_NAME = 'UserRule';
  9. const PERMISSION_NAME = 'user';
  10. /**
  11. * 用户权限规则判断
  12. * @param int|string $userId 用户 ID.
  13. * @param Item $item 该规则相关的角色或者权限
  14. * @param array $params 传给 ManagerInterface::checkAccess() 的参数
  15. * @return bool 代表该规则相关的角色或者权限是否被允许
  16. * @author nodelog
  17. */
  18. public function execute($userId, $item, $params)
  19. {
  20. //无信息参数
  21. if (!isset($params['user'])) {
  22. return false;
  23. }
  24. /* @var $user User */
  25. $user = $params['user'];
  26. if ($user instanceof User && $user->id == $userId) {
  27. return true;
  28. }
  29. return false;
  30. }
  31. }
  32. ?>