Yii框架ACF(accessController)简单权限控制操作示例

本文实例讲述了Yii框架ACF(accessController)简单权限控制操作。分享给大家供大家参考,具体如下:

use yii\\filters\\AccessControl;
class SiteController extends Controller
{
  public function behaviors()
  {
    return [
      \'access\' =>[
        \'class\' => AccessControl::className(),
        \'rules\' => [
          [
            \'allow\' => true,
            \'actions\' => [\'index\', \'view\'],
            \'roles\' => [\'?\'],
          ],
          [
            \'allow\' => true,
            \'actions\' => [\'view\',\'index\',\'create\',\'update\'],
            \'roles\' => [\'@\'],
          ],
            [
              \'actions\' => [\'special-callback\'],
              //\'only\' => [\'special-callback\'],
              \'allow\' => true,
              \'matchCallback\'=>function($rule,$action){
                return date(\'Y-m-d\') === \'2017-02-14\';//只有2017年2月14号才可以访问
              },
              \'denyCallback\'=>function($rule,$action){ //禁止访问的规则
              },
              \'ips\'=>[],//允许的ip
              \'verbs\'=>[\'GET\',\'POST\',\'DELETE\'],//请求的方式
            ],
        ],
      ],
    ];
  }
  // ...
}

访问规则通过如下的上下文参数设置:

actions: 设置哪个动作匹配此规则。

roles: 设定哪个角色匹配此规则。

    *: 任何用户,包括匿名和验证通过的用户。
    ?: 匿名用户。
    @: 验证通过的用户。

ips: 设定哪个客户端IP匹配此规则。

verbs: 设定哪种请求类型(例如:GET, POST)匹配此规则。

matchCallback:指定一个PHP回调,以确定应用该规则。

denyCallback:PHP回调,当规则禁止访问的时候会被调用。

public function actionSpecialCallback()
{
  return $this->render(\'happy-halloween\');
}

以上代码可以用来控制博客系统的访客和登录用户的相关权限

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容