Yii2 前台控制器访问权限控制

class BaseController extends Controller
{
    public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'only' =>['index','detail','login','logout','add','delete'],
                'rules' => [
                    [
                        'actions' => ['index','detail','logout'],
                        'allow' => true,
                        'roles' => ['@'],
                    ],
                    [
                        'actions'=>['login'],
                        'allow'=>true,
                        'roles'=>['?']
                    ]
                ],
            ],
//            'verbs' => [
//                'class' => VerbFilter::className(),
//                'actions' => [
//                    'logout' => ['post'],
//                ],
//            ],
        ];
    }
}

所有控制器里面的actionIndex 和 actionDetail 和actionLogout 在@登陆的情况下都允许访问,其他情况下都不能访问。

actionLogin 在用户未验证也就是用户未登陆的情况可以访问,其他情况都不能访问

原文地址:https://www.cnblogs.com/fpcing/p/9621191.html