首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Symfony 2:安全配置:登录和注销处理程序

Symfony 2:安全配置:登录和注销处理程序
EN

Stack Overflow用户
提问于 2015-02-10 08:41:08
回答 2查看 4.5K关注 0票数 5

使用Symfony 2,我正在寻找有关可以在安全配置文件app/config/security.yml (正式文件)中定义的处理程序的更多信息。文档没有提供任何关于处理程序的信息。以下是安全文件的摘录:

代码语言:javascript
运行
复制
# app/config/security.yml

security:        
    ...

    firewalls:                            
            somename:
        
                form_login:
                    ...
    
                    # login failure redirecting options (read further below)
                    failure_path:    /foo
                    failure_forward: false
                    failure_path_parameter: _failure_path
                    failure_handler: some.service.id
                    success_handler: some.service.id
    
    
                logout:
                    path:   /logout
                    target: /
                    invalidate_session: false
                    delete_cookies:
                        a: { path: null, domain: null }
                        b: { path: null, domain: null }
                    handlers: [some.service.id, another.service.id]
                    success_handler: some.service.id
                anonymous: ~

在两个form_login和注销部分中都有一个success_handler字段。此外,对于注销部分,可以使用handlers字段定义几个处理程序。

我有两个问题:

  1. 如果我定义了一个succes_handler服务(例如使用AuthenticationSuccessHandlerInterface或LogoutHandlerInterface),它会覆盖框架中提供的默认成功处理程序吗?
  2. 对于配置的注销部分,handlers字段如何工作?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-13 08:24:50

有关信息,请参阅app/config/security.yml的注销部分:

handlers: [some.service.id, another.service.id] =>这里您必须定义实现Symfony\Component\Security\Http\Logout\LogoutHandlerInterface的服务。这些句柄不需要返回响应。在我的例子中,我创建了一个简单的处理程序,在注销时创建一个闪存消息。

success_handler: some.service.id =>在这里您必须定义一个实现=> Symfony\Component\Security\Http\Logout\LogoutSuccessHandlerInterface的服务。这个处理程序必须返回一个响应。此处理程序由Symfony\Component\Security\Http\Firewall\LogoutListener (防火墙侦听器)的构造函数调用。

票数 7
EN

Stack Overflow用户

发布于 2015-02-10 12:35:00

我成功地尝试了下一个解决方案,https://gist.github.com/marydn/8061424似乎就是您想要做的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28427286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档