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

发布于 2024-12-06 18:56:22 字数 403 浏览 1 评论 0 原文

我试图控制会话以禁止访问我的网络应用程序的某些页面。方式很简单,一个布尔会话变量。问题是每个操作都有一个页面,但是,我认为在每个操作中询问用户是否已登录并不优雅。我怎样才能在 MVC 架构中优雅地做到这一点?这样看上去就很蹩脚。我在想有一个父操作会重定向到最后一个操作,即呈现页面的操作,对吗?也许我可以在那里办理支票。

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

i'm trying to control the session to forbid the access to some pages of my web app. The way is simple, a boolean session variable. The thing is there's one page for every action, but, i think is not elegant at all to ask in every action if the user is logged or not. How can i do this elegantly in a MVC architecture? It looks crappy this way. I was thinking that there is a parent action that redirects to the final one, the one that renders the page, is it right? maybe i could make the check there.

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧话新听 2024-12-13 18:56:22

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

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

您可以在

In Symfony2, if the sections of the site that need authorization are under the same path, you can use the access_control section in the security configuration:

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

You can find more ways to secure your app in the book

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文