symfony1 403某些操作的禁止错误

时间:2013-06-19 13:06:14

标签: symfony1 symfony-1.4

在我的symfony1项目中,我需要创建一个url来获取所有者列表。 我在routing.yml中创建了一个如下所示的路由:

#owner
owner_list:
    url: /:id/owner/list.:sf_format
    param: { module: owner, action: list }
    requirements:
        sf_format: (?:json)

然后我在“apps”目录中的项目文件夹的'modules'文件夹中添加了一个文件夹'owner'。 我在该文件夹中添加了一个文件夹'actions'和一个'actions.class.php'文件。

我的动作类看起来像这样:

class ownerActions extends sfActions {

    /**
     * Executes list action
     *
     * @param sfRequest $request A request object
     */
public function executeList(sfWebRequest $request)
    {...
$this->getResponse()->setContentType('application/json');
        $this->getResponse()->setContent(json_encode($this->owners));
return sfView::NONE;    }    }

当我转到网址http://website/project/id/owner/list.json时,它应该转到我创建的新操作并输出json。 相反,它给了我403错误。

此项目中还有许多其他操作以相同的方式创建,我可以访问。

任何想法为什么以及如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

你写了

url: /:id/owner/list.:sf_format

但被叫网址是

/id/owner/list.json

是否应该有id(我猜数字)而不是文字“id”?

我还没有尝试过,但路由会接受一个变量参数作为第一个url元素吗? 调用它时,[appname] _dev.php的输出是什么?

答案 1 :(得分:0)

我找到了解决方案。 需要添加: options: restricted: false 到我的路线