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: 设定哪种请求类型(例如:GETPOST)匹配此规则。

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

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

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

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

最新文章

  1. Fixing DSDT
  2. 微信网页版APP - 网页微信客户端电脑版体验
  3. erlang 200w进程测试
  4. JPA学习---第四节:JPA实例与JPA主键生成策略
  5. Android Studio中文组(中文社区)
  6. HW2.12
  7. 傻瓜式硬盘重装win7系统图文加视频教程
  8. JQuery(一)---- JQ的选择器,属性,节点,样式,函数等操作详解
  9. #2019-2020-4 《Java 程序设计》第九周总结
  10. 关于thinkphp3自动完成的笔记
  11. javascript中的数据结构
  12. 使用Curator操作ZooKeeper
  13. Java总结:开发环境
  14. Java入门系列(八)多线程
  15. pycharm pro版本激活
  16. Go指南 - 笔记
  17. VScode+Flutter 开发继续踩坑
  18. hibernate框架的核心对象和相关知识点
  19. POJ 3087 Shuffle'm Up【模拟/map/string】
  20. php二维数组排序方法(array_multisort,usort)

热门文章

  1. 基于STM32+华为云IOT设计智能称重系统
  2. c++动态内存分配需要注意的地方,可以不用尽量不用
  3. 渗透:dSploit
  4. python使用vosk进行中文语音识别
  5. k8s client-go源码分析 informer源码分析(4)-DeltaFIFO源码分析
  6. Python常用标准库(pickle序列化和JSON序列化)
  7. 《HALCON数字图像处理》第三章笔记
  8. 关于python导入数据库excel数据时出现102, b"Incorrect syntax near '.15562'.DB-Lib error message 20018, severity 1的问题总结
  9. 前缀和与差分(Acwing795-798)
  10. 《Java笔记——基础语法》