Symfony2 FOSUserBundle如何通过json公开app变量

时间:2014-11-26 08:00:22

标签: php angularjs symfony fosuserbundle

我有一个Symfony 2.3.7应用程序,它使用FOSUserBundle进行用户管理。直到现在,该应用程序已成为标准的MVC,其中Twig用于模板化。现在我们正在转向基于Angular的单页面应用程序,并将原始应用程序中的许多控制器转换为返回前端JS将调用的json响应。其中大部分正在进行中并受到控制。

我的问题是关于用户身份验证。由于我们还需要替换登录树枝,因此我试图找出管理用户身份验证的最有效方法。在树枝上它非常简单:

 {% if app.user %}
     {# display loggedIn user data #}
 {% endif %}

因此,一种表达问题的方法是......有没有办法通过json公开全局应用程序变量(会话,用户等)?或者还有另一种我尚未想到的方式吗?

1 个答案:

答案 0 :(得分:1)

实际上,您不应在两个环境之间共享环境变量。您的登录有许多解决方案,但不应使用twig。

  • 使用oauth(带捆绑?)
  • 使用更简单的令牌身份验证(这意味着您将为symfony创建一个特殊的安全侦听器)
  • 继续使用旧的良好系统并使用控制器完全像之前一样发送登录

在每种情况下,共享环境变量对我来说都不是一个好主意,因为它带来了以下问题:

  • 你的前方取决于你的后端
  • 您的代码不清楚,因为您不知道几天后每个变量的位置
  • Sf环境变量可以包含合理的信息。