Symfony2为什么在未对用户进行身份验证时调用我的控制器actoin?
我有行动:
路线:acme/home/list
代码:
/**
* @Route("/list")
* @Template()
*/
public function listAction()
{
return array(
'username' => $this->getUser()->getUsername(),
);
}
并且应该使用我的security.yml
进行限制但是在输入未经身份验证时我收到错误
错误:FatalErrorException: Error: Call to a member function getUsername() on a non-object in
这是我的security.yml
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/acme/, role: ROLE_USER }
这可能是错的?它没有重定向到加载页面?
答案 0 :(得分:0)
我正在使用jms翻译包。 设置我的access_control路由以用户区域设置为前缀修复了prbolem。
这是一个示例路线:
- { path: ^/[^/]+/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
只需将/[^/]+
添加到路由(区域设置前缀)