相关疑难解决方法(0)

Yii2全局过滤器/行为,强制用户首先进行身份验证

在我的Yii2应用程序中,我试图强制所有用户进行身份验证.如果它们尚未经过身份验证,则应将其重定向到登录页面.

在Yii1中,我通过创建一个类来检查用户是否已登录并将该类附加到onBeginRequest我的主配置文件中的行为来完成此操作.

// Yii 1
'behaviors' => array(
    'onBeginRequest' => array(
        'class' => 'application.components.RequireLogin',
    )
),
Run Code Online (Sandbox Code Playgroud)

如何在Yii2中获得相同的行为?我知道我可以使用行为来执行此操作,但我不想将此行为添加到我的主配置文件中,因此首先检查所有请求的身份验证.

工作行为方法如下所示:

// Yii2
public function behaviors() {
    return [
        'access' => [
            'class' => AccessControl::className(),
            'rules' => [
                [
                    'actions' => ['login', 'error'],
                    'allow' => true,
                ],
                [
                    'allow' => true,
                    'roles' => ['@'],
                ],
            ],
        ],
    ];
}
Run Code Online (Sandbox Code Playgroud)

php rbac yii yii2

25
推荐指数
1
解决办法
1万
查看次数

标签 统计

php ×1

rbac ×1

yii ×1

yii2 ×1