php - 角色管理 Symfony 和 NodeJs

标签 php node.js symfony

我目前正在处理一个 Symfony 项目(我们称之为 example.com),我需要在该项目上更改角色管理。我已经根据新的角色层次修改了 php 代码。

不过,我们还有一个NodeJS服务器负责一个视频流的服务。当客户端连接到他在网页上访问的网络服务时( example.com/webcam 由 symfony/twig 生成),其中包含打开与套接字的连接的 JS。此套接字直接连接到在自定义端口 (wss://example.com:9900) 上运行的 nodeJS 服务器。

下图总结了这一点。

Schema of functionnement

正如我之前所说,我需要包括一个角色管理。然而,目前,关于角色的一切都位于 symfony 代码中。我不太想把它导出到nodeJS服务器,因为以后维护起来会更难(需要修改的两个地方),而且因为据我所知,在nodeJS中没有完全相同的角色管理。

所以我想过让 websocket 流量通过 symfony,然后将其发送回客户端,如下图所示 Schema of probable futur functionnement

但是:

  • 我不知道这是否是最好的方法,所以如果您知道另一种方法,或者如果您认为在两个网络服务器上复制角色管理逻辑会更好,我将感谢您的建议
  • 如果这是一个很好的方法,我如何在 symfony 上创建一个高效的 websocket 重定向流量?

最佳答案

我认为对于这个问题并没有真正开箱即用的解决方案。为了在 Symfony 和 Node.js 服务器之间共享角色,有必要在一个地方(例如在数据库中)定义它们,然后从那里将它们注入(inject)到两个服务器中。在 Symfony 中,您可以将角色层次结构保存到数据库中:see example here

通过这种方式,您只有一个存储角色的点,这意味着 Node.js 服务器可以从数据库中读取所有角色。

注意:有人在示例的评论中提到此示例不适用于 Symfony 2.8(您没有指定您的 Symfony 版本)。如果你使用 Symfony 2.8,你可以使用 this未维护的 bundle 作为灵感。

关于php - 角色管理 Symfony 和 NodeJs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50912458/

相关文章:

php - Stripe 结帐不起作用

php - 使用 php GD 库将透明渐变与图像混合

php - 如何使用php将记录插入sql数据库上的多对多关系表?

php - 如何将值导入 cssstyle.php 文件?

ios - Socket.io 通过套接字对象在服务器上获取事件字符串

xml - Symfony 2 在 service.xml 中传递数组

email - 如何使用 SwiftMailer (Symfony2) 在 html 格式的电子邮件中添加图片

javascript - 通过 Passport 实例的快速路由中的路由分离

javascript - 以下nodejs代码之间的区别

php - 在 Symfony 中编写 Twig 扩展时,为什么必须提供 getName()?