Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Model view controller 会话控制Symfony 2中同一页面上的各种控制器?_Model View Controller_Session_Symfony_Controllers - Fatal编程技术网

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

Model view controller 会话控制Symfony 2中同一页面上的各种控制器?,model-view-controller,session,symfony,controllers,Model View Controller,Session,Symfony,Controllers,我正试图控制会话以禁止访问我的web应用程序的某些页面。方法很简单,是一个布尔会话变量。问题是,每个操作都有一个页面,但是,我认为在每个操作中询问用户是否登录并不优雅。如何在MVC架构中优雅地实现这一点?这样看起来糟透了。我在想,有一个父操作会重定向到最后一个操作,即呈现页面的操作,对吗?也许我可以在那里结账 public function createAction(Request $request){ $sess = $this->getRequest()->get

我正试图控制会话以禁止访问我的web应用程序的某些页面。方法很简单,是一个布尔会话变量。问题是,每个操作都有一个页面,但是,我认为在每个操作中询问用户是否登录并不优雅。如何在MVC架构中优雅地实现这一点?这样看起来糟透了。我在想,有一个父操作会重定向到最后一个操作,即呈现页面的操作,对吗?也许我可以在那里结账

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

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

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

您可以在

6个问题中找到更多保护应用程序的方法。。。0个已接受的答案…:-/