Php 即使我们知道url,如何在yii中拒绝url的访问?

Php 即使我们知道url,如何在yii中拒绝url的访问?,php,yii2,Php,Yii2,在我的yii Web应用程序中,我禁用并启用几个url来设置权限。但是,如果用户没有访问该url的权限,则可以通过复制url或从某个位置获取url来访问同一url。我应该如何避免这种情况?在控制器中 函数行为就是为了这个。您可以在核心过滤器/访问控制中找到该单据 这是一个中等复杂度的规则示例,仅允许角色viewerApp和viewModule1的索引、视图、mpdf表单。允许对角色superAdmin、admin、ManagerModule 1、managerApp的所有访问 你看过内置系统吗?

在我的yii Web应用程序中,我禁用并启用几个url来设置权限。但是,如果用户没有访问该url的权限,则可以通过复制url或从某个位置获取url来访问同一url。我应该如何避免这种情况?

在控制器中

函数行为就是为了这个。您可以在核心过滤器/访问控制中找到该单据

这是一个中等复杂度的规则示例,仅允许角色viewerApp和viewModule1的索引、视图、mpdf表单。允许对角色superAdmin、admin、ManagerModule 1、managerApp的所有访问


你看过内置系统吗?是的,我看过。。但我在我的应用程序中安装了权限。但它只为少数人设定了权利。由于我的web应用程序包含160多个表,因此它无法完美地适用于所有控制器和模型。我为特定用户隐藏url www.my-url/index/test/create。如果该用户知道此url,如果我使用此代码,是否可以访问?请更好地解释。我不能理解我的是一个学校管理软件。我隐藏了为每个用户设置权限的链接。但是,如果用户知道url,则可以访问。如果用户没有允许访问的角色,则即使用户写入地址,也无法访问。但是,如果你有一个允许访问的角色,你可以通过输入地址来访问该页面。在我的特权页面中,我只隐藏url。没有其他操作。因此,如果其他人知道url,访问该页面会更容易。
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'],
            ],
        ],
    ];
}