我是 Yii 和 MVC 领域的绝对新手。我的问题是:假设我制作了某个模型的 CRUD,并且我修改了“_form.php”部分以从其他地方使用,例如从“发布”视图使用的评论表单,以及例如,如果我创建评论的链接是:
http://localhost/example/comment/create
如何阻止此页面被访问并且只能从“帖子”页面的视图中调用?
我必须为此使用RBAC吗?还有其他方法吗?也许使用“GET”方法?
我是 Yii 和 MVC 领域的绝对新手。我的问题是:假设我制作了某个模型的 CRUD,并且我修改了“_form.php”部分以从其他地方使用,例如从“发布”视图使用的评论表单,以及例如,如果我创建评论的链接是:
http://localhost/example/comment/create
如何阻止此页面被访问并且只能从“帖子”页面的视图中调用?
我必须为此使用RBAC吗?还有其他方法吗?也许使用“GET”方法?
getUrlReferrer()
您可以尝试使用或魔法属性检查引荐来源页面是否是您想要的页面urlReferrer
:
http://www.yiiframework.com/doc/api/1.1/CHttpRequest#getUrlReferrer-detail
例如:
if(preg_match('/post\/view/', Yii::app()->request->urlReferrer) === 1) {
// do something
}
把它放在你的comment/create
行动中。