繁体   English   中英

将匿名用户重定向到/ login页面

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM