限时 5折! 详情
yii-admin 里面rule没效果
5 914 2016-06-30

您好! 我设置了rule,但是没效果;我想要实现:use表只能管理员修改所有,或自己修改自己。我没理解rule表里面的name的设置有什么规则吗?

  • 5 个回答
  • 可以先在execute方法内return false;测试看看生效不生效。
    如果生效了,会提示你没权限操作。
    如果仍然可以继续访问,你需要检查:确实为use操作添加了该规则确定该操作的权限分配给当前用户仅且一次
    可以参考下面的步骤进行测试当前用户创建一篇文章,记得记录当前文章的创建者,其角色是管理员,我们默认User::ROLE_ADMIN创建一个普通用户,且也创建一篇文章,同时也需要记录当前文章的创建者分别用管理员帐号和普通用户登录系统修改这两篇文章,结论自然是满足我们一开始所提的需求,管理员两篇文章均可修改,普通用户只能修改自己的文章

  • 博主,谢谢您的回复,我的execute返回的就是false;但是没显示Forbidden (#403) 您没有执行此操作的权限; 我不明白我设置的rule,怎么才是被用上了?class UserRule extends Rule{ public $name = "user"; public function execute($user, $item, $params) { return false; }}创建rule时:那个name怎么写?创建之后怎么才被用上?

  • 博主,谢谢;我知道我哪里错了;创建的rule规则的rule_name在permission要绑定上;;希望接下来的使用者别犯这个低级错误吧。

  • 文章说的很清楚了,要给权限添加规则rule,这个是必须的,少不得

  • 博主,怎么简单获取当前用户的角色;其角色只存在auth_assignment,用户表没。查询?除此之外呢?

登录 去赚佣金