Symfony FOSUserBundle允许访问整个站点
伙计们! 我正在尝试为我的Symfony应用程序配置用户系统(FOSUserBundle)。在我尝试允许访问整个站点并使用安全配置文件中的访问控制限制对某些路由的访问之前,一切都正常 我也试过了 # -{path:^/*,roles:IS_AUTHENTICATED_ANONYMOUSLY} # 当我转到索引页(/)时,它会将我重定向到登录页。我希望所有访问者都能看到索引页,而不仅仅是那些登录的访问者 只是一时想不起来。谢谢您的回答。试试这个:Symfony FOSUserBundle允许访问整个站点,symfony,redirect,fosuserbundle,Symfony,Redirect,Fosuserbundle,伙计们! 我正在尝试为我的Symfony应用程序配置用户系统(FOSUserBundle)。在我尝试允许访问整个站点并使用安全配置文件中的访问控制限制对某些路由的访问之前,一切都正常 我也试过了 # -{path:^/*,roles:IS_AUTHENTICATED_ANONYMOUSLY} # 当我转到索引页(/)时,它会将我重定向到登录页。我希望所有访问者都能看到索引页,而不仅仅是那些登录的访问者 只是一时想不起来。谢谢您的回答。试试这个: access_control: - { p
access_control:
- { path: ^/profile$, roles: ROLE_USER }
- { path: ^/admin$, roles: ROLE_ADMIN }
- { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY }
您的问题可能与尝试将角色指定为角色数组有关,但您只给出一个值:
- { path: ^/*, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/profile$, role: ROLE_USER }
- { path: ^/admin$, role: ROLE_ADMIN }
对于更多角色,您需要[]我解决了这个问题。对不起我的沉默,我已经徘徊了两天为什么会发生这种事。 重定向来自控制器。对不起,我弄错了。无论如何,谢谢你的回答
public function startAction()
{
$user = $this->getUser();
if ($user) {
return $this->render('HellfireCommonBundle:Index:index.html.twig', array('user' => $user));
} else {
return $this->redirect($this->generateUrl('fos_user_security_login'));
}
}
尝试删除访问控制中的第一条规则,并将主防火墙中的模式更改为“/.*”。同样,它会将我重定向到使用*仅不带点或+-{path:^/*,角色:是匿名验证的。}我尝试将模式设置为:^/*^/*^/^/$/*+并将路径设置为相同的值,但它仍然将我重定向到登录页面是的,我尝试使用“角色”而不是“角色”,它没有给出关于-{path://*,role:IS_AUTHENTICATED_ANONYMOUSLY}和注释其他测试行的积极结果。同样,它重定向。我已经尝试将路由器路径索引(/)页面更改为/index/,但它仍然会在您登录时重定向到索引?没有任何访问控制,它正常工作吗?恐怕访问控制不是问题所在
public function startAction()
{
$user = $this->getUser();
if ($user) {
return $this->render('HellfireCommonBundle:Index:index.html.twig', array('user' => $user));
} else {
return $this->redirect($this->generateUrl('fos_user_security_login'));
}
}