【问题标题】:Symfony dynamic firewallSymfony 动态防火墙
【发布时间】:2014-10-13 17:53:57
【问题描述】:

在大型 Web 应用程序中,我希望我们的客户能够启用/配置他们自己的单点登录 (SAML) 身份提供商。每个客户都有自己的特定子域,允许我们的应用程序确定哪个防火墙应该处于活动状态。 但是,我不想在更改生效之前手动配置每个新防火墙并清除缓存。现在我读到了依赖注入、扩展、编译器和所有这些,但我似乎找不到从数据库加载动态防火墙设置并应用它们的方法。知道我会怎么做吗?

仅供参考,我正在使用 SamlSPBundle 进行 SSO。

谢谢!

【问题讨论】:

    标签: symfony firewall saml


    【解决方案1】:

    我可能在设置赏金后不久就发现了这一点! ;)

    Symfony2 安全性允许基于每个防火墙指定 request_matcher:

    http://php-and-symfony.matthiasnoback.nl/2012/07/symfony2-security-using-advanced-request-matchers-to-activate-firewalls/

    自定义 RequestMatchers 必须实现一个基于 Request 对象返回 true 或 false 的方法。我认为这可以用来动态激活防火墙。只要您有有限数量的防火墙(我有),那么自定义 RequestMatcher 就可以解决您的问题。

    【讨论】:

    • 这是我所知道的最好的方法。
    • 迟到好过我从来没有接受过你的回答。我们确实使用 request_matcher 实现了它,谢谢!
    猜你喜欢
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    • 2022-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 1970-01-01
    相关资源
    最近更新 更多