arf*_*ame 1 rest access-control yii2
ApiController:
<?php
namespace frontend\controllers;
use Yii;
use yii\rest\Controller;
use yii\filters\AccessControl;
/**
* API
*/
class ApiController extends Controller
{
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'allow' => true,
'roles' => ['@'],
],
],
],
];
}
public function actionTest()
{
echo 'here';
}
}
Run Code Online (Sandbox Code Playgroud)
当我在浏览器中打开/ api/test时AccessControl重定向到登录页面.如何用403状态代码显示json格式错误?
谢谢!
你应该添加denyCallback来改变这种行为:
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'allow' => true,
'roles' => ['@'],
],
],
'denyCallback' => function ($rule, $action) {
throw new \yii\web\ForbiddenHttpException('You are not allowed to access this page');
}
],
];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3005 次 |
| 最近记录: |