会话控制Symfony 2中同一页面上的各种控制器?

时间:2011-09-27 15:53:05

标签: model-view-controller session symfony controllers

我正在尝试控制会话以禁止访问我的网络应用的某些页面。方法很简单,一个布尔会话变量。事情是每个动作都有一个页面,但是,如果用户是否登录,我认为在每个动作中都要求优雅。我怎样才能在MVC架构中优雅地做到这一点?这样看起来很糟糕。我以为有一个父动作重定向到最后一个,呈现页面的动作,是不是?也许我可以在那里进行检查。

public function createAction(Request $request){
        $sess = $this->getRequest()->getSession();
        if ($sess->get('logged') == true) {
        // ---- ACTION CODE GOES HERE ---- //
        }
}

1 个答案:

答案 0 :(得分:1)

在Symfony2中,如果需要授权的站点部分位于同一路径下,则可以使用安全配置中的access_control部分:

# app/config/security.yml
security:
    # ...
    access_control:
        - { path: ^/secured/area, roles: ROLE_USER }

您可以在book

中找到更多保护应用的方法