Yii2 自动将未登录用户重定向到登录页面
目前我有一个问题,没有登录的用户可以访问该网站,如果他们输入一个特定的URL 我的站点控制器如下所示:Yii2 自动将未登录用户重定向到登录页面,yii2,access-control,Yii2,Access Control,目前我有一个问题,没有登录的用户可以访问该网站,如果他们输入一个特定的URL 我的站点控制器如下所示: class SiteController extends Controller { public function behaviors() { return [ 'access' => [ 'class' => AccessControl::className(),
class SiteController extends Controller
{
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'only' => ['logout'],
'rules' => [
[
'actions' => ['logout', 'index'],
'allow' => true,
'roles' => ['@'],
],
[
'actions' => ['login'],
'allow' => true,
'roles' => ['?'],
],
],
],
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'logout' => ['post'],
],
],
];
}
[...]
}
这不起作用,用户仍然可以访问该网站
另一个警告:登录页面是一个不同的URL,而我的网站是
对于actionIndex
它可以工作:
public function actionIndex()
{
if (!Yii::$app->user->isGuest) {
return $this->render('index');
}
else {
//$this->callback();
$this->redirect('https://login.mywebsite.com');
}
}
如果未登录,我希望这是默认设置。尝试从
公共函数行为()中删除'only'=>['logout'],
,或添加'index'
仅关于以下内容的文档:
- @此筛选器应应用于的操作ID的var数组列表。如果未设置此属性,
- 然后,筛选器将应用于所有操作,除非它们列在[[除外]]中