0
的loggedIn我有我想检查,如果用户是在yii2做客但是代码失败,即使用户是来宾这个控制器动作是什么,我都试过Yii2检查,如果用户在yii2
class CustomerController extends Controller
{
public function beforeAction($action)
{
if(Yii::$app->user->isGuest){
return $this->redirect(Yii::$app->urlManager->createUrl("site/login"));
}
public function actionDashboard(){
//do dashboard stuff
}
}
我一直在使用AccessControl的过滤器也尝试过,但他们仍然无法 这是一个前端控制器
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'controllers' => ['customer'],
'actions' => ['dashboard'],
'allow' => true,
'users' => ['?'],
],
], // rules
], // access
]; // return
} // behaviors
然后我的客户控制器我只是延长前端Controlller但即使这种方法失败的访问控制过滤器实例
BY这样做,这样
public function actionDashboard(){
if(Yii::$app->user->isGuest){
return $this->redirect(Yii::$app->urlManager->createUrl("site/login"));
}else{
//perform dashboard stuff
}
}
这工作,但问题是,按照过去的方法有很多,其中犯规的其他动作重复的代码似乎是正确,即使它的工作原理
有什么不对这似乎后者的方法更好
我已经检查了This link也This second one和implementend他们,但没有工作
什么可能是错误的。
AM using Yii2 improved advanced template