禁止查看控制器页面

时间:2013-05-02 13:31:43

标签: yii access-control yii-routing

我是Yii和MVC世界的绝对新手。 我的问题是:如果我已经对某个模型进行了CRUD,并且我修改了“_form.php”部分以便从其他地方使用,例如从“post”视图中使用的注释表单,以及例如,如果我创建评论的链接是:

http://localhost/example/comment/create

如何停止访问此页面,只能从“帖子”页面的视图中调用?

我是否必须使用 RBAC ?还有其他方法吗?使用“GET”方法可能吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用getUrlReferrer()或魔法属性urlReferrer检查引荐来源网页是否是您想要的页面:

http://www.yiiframework.com/doc/api/1.1/CHttpRequest#getUrlReferrer-detail

e.g:

if(preg_match('/post\/view/', Yii::app()->request->urlReferrer) === 1) {
    // do something
}

将其放在comment/create操作中。