Php 未经身份验证/授权的单个控制器的yii操作

Php 未经身份验证/授权的单个控制器的yii操作,php,yii,Php,Yii,我正在使用yii-powered应用程序作为公共API的后端。我使用actionTest方法创建了controllers/ApiController类,并试图通过urldomain.ltd/api/test获取一些数据,而无需登录/通过授权,这通常需要另一个控制器(例如SiteController)。我该怎么做 我认为有几个变体: 使用authManager(?)为来宾访问设置路由/api/* UserIdentity类的神奇之处 要允许任何人访问该页面,只需在控制器规则中指定该页面(类似于登录

我正在使用yii-powered应用程序作为公共API的后端。我使用
actionTest
方法创建了
controllers/ApiController
类,并试图通过url
domain.ltd/api/test
获取一些数据,而无需登录/通过授权,这通常需要另一个控制器(例如SiteController)。我该怎么做

我认为有几个变体:

  • 使用authManager(?)为来宾访问设置路由/api/*
  • UserIdentity类的神奇之处

  • 要允许任何人访问该页面,只需在控制器规则中指定该页面(类似于登录页面,因为您无需登录即可访问该页面)


    不确定这是否有帮助,但你可以在控制器的访问规则中设置权限……这基本上就是@Justinas的答案……这些不是应该是普通括号而不是方括号吗?@webeno in PHP>=5.4允许使用短数组标记。在较低版本中会出现错误
    public function accessRules()
    {
        return [
            [
                'allow',
                'actions' => ['test'],
                'users' => ['*'],
            ],
            ['deny', // deny all users
                'users' => ['*'],
            ],
        ];
    }