即使我们知道网址,如何拒绝yii访问网址?

时间:2015-07-18 08:33:20

标签: php yii2

在我的yii webapplication中,我禁用并启用多个url来设置权限。但是,通过复制URL或从某个位置获取URL,可以访问没有权限访问该URL的用户访问相同的URL。我该怎么做才能避免这种情况?

1 个答案:

答案 0 :(得分:0)

在控制器中

功能行为就是为了这个。您可以在yii2 guide filters(核心过滤器/访问控制)中找到该文档。

这是规则的中等复杂性示例(仅允许index,view,mpdf-form用于角色viewerApp和viewModule1。允许所有对角色的访问权限superAdmin,admin,managerModule1,managerApp)

public function behaviors()
{
    return [
        'access' => [
            'class' => AccessControl::className(),
            'rules' => [
                [
                    'actions' => ['index','view', 'mpdf-form'],
                    'allow' => true,
                    'roles' => ['vieweApp', 'viewerModule1'],
                ],
                [
                    'allow' => true,
                    'roles' => ['superAdmin', 'admin', 'managerModule1', 'managerApp'],
                ],   
            ],
        ],         
        'verbs' => [
            'class' => VerbFilter::className(),
            'actions' => [
                'delete' => ['post'],
            ],
        ],
    ];
}