[英]How do I redirect an anonymous user to custom page instead of the login page if they do not have access to a URL?
[英]Redirect anonymous user to /login page
所以,我正在使用FOSUserBundle和symfony 2.8项目
是否有什么方法可以将匿名用户重定向到/ login页面,如果他需要/ page?
使用防火墙保护/
:
# app/config/security.yml
security:
firewalls:
app:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
logout: true
anonymous: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, role: ROLE_ADMIN }
有关更多详细信息,请参见FOSUserBundle文档 。
首先,检查用户是否被授权 。 然后,使用if条件重定向用户。
索引的完整示例:
public function indexAction()
{
$context = $this->container->get('security.authorization_checker');
if (!($context->isGranted('IS_AUTHENTICATED_REMEMBERED'))) {
$this->redirect('http://yourpage.com/login');
} else {
//Do your other stuff here
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.