Symfony多公司应用程序

时间:2016-06-02 11:39:19

标签: symfony

我需要在用户身份验证后设置几个参数。

我们有一个带有oauth2客户端的数据库。 当其中一个获得访问令牌并尝试访问受保护的API时,我需要识别客户端(这很容易,因为access_token绑定到特定客户端)并定义了几个应用程序参数(实际上我需要加载特定的文件参数。 yml取决于客户端。)

我的问题是:

  1. 如何在用户通过身份验证时挂钩事件?
  2. 如何在用户进行身份验证后加载特定的parameters.yml并使其相关?
  3. 谢谢!

1 个答案:

答案 0 :(得分:2)

  1. 当用户成功通过身份验证后,您可以编写一个侦听SecurityAuthenticationEvents :: AUTHENTICATION_SUCCESS的侦听器。
  2. 监听器的公共方法应如下所示:

    public function onAuthenticationSuccess(AuthenticationEvent $event)
    {
        /**
         * @var User $user
         */
        $user = $event->getAuthenticationToken()->getUser();
    
        // ...
    
        return;
    }
    
    1. 我相信你可以使用YamlFileLoader。当然,您可以创建一个服务类来读取yaml文件中的内容,并将它们提供给应用程序中的不同服务。我不会尝试将它们与常规参数/配置文件混合使用。