如何在Yii中限制对经过身份验证的用户访问单个静态页面?

时间:2011-12-15 19:57:46

标签: yii

如何在Yii中创建只有登录用户可以查看的单个静态页面?

2 个答案:

答案 0 :(得分:3)

有很好的文档说明如何为指南启用Yii的access control filter控制器操作。您必须制作一个显示静态视图的控制器操作,并根据教程限制对该操作的访问。

答案 1 :(得分:3)

您必须在控制器内创建一个操作,例如public function actionStaticpage(),然后:

此操作将处理您可能想要显示的静态内容的视图呈现,即已记录用户的一些指令/常见问题解答,教程等。例如:

public function actionStaticpage() {
    $this->render('faq');
}

您现在必须指定此操作仅针对已登录用户可查看 。您可以使用Controller的函数accessRules()来完成此操作。它会是这样的:

public function accessRules()
{
    return array(
        array('allow', // allow authenticated user to perform these actions
            'actions'=>array('staticpage'),
            'users'=>array('@'),
        ),
    );
}

就是这样。您还可以使静态页面更具动态性,例如在其中包含参数,指定要显示的静态内容public function actionStaticpage($page),然后正确使用switchif语句显示内容。