【发布时间】:2018-07-08 21:01:25
【问题描述】:
我目前正在开发一个基于 MEAN 堆栈并设计为在本地运行的软件套件(此应用不会部署在网络上)。
下面提到的节点应用程序将使用 pkg(npm 包) 编译成可执行文件。我尚未确认此软件包是否为我的节点应用程序提供任何安全性。
项目架构如下:
- 在 locahost 端口 3000 上运行的节点客户端
- 在 localhost 端口 5000 上运行的节点 Api
- 默认端口 27017 上的本地 mongodb。
- 用于记录数据以传输到数据库的本地桌面应用程序。
我需要满足这些最终要求:
- 用户不应直接访问数据库,只能查看 通过他们的本地客户端获取数据。
- api 应该只与我的客户端、我的应用程序和我的数据库通信。需要有某种机制来验证 api 的客户端。
所以,我想我需要一种在这些组件之间建立安全连接的方法,而无需将凭据保存在应用程序内的文件中。
我了解如何向 Mongodb 添加身份验证,但我想不出一种方法来避免在我的代码中必须以明文形式包含这些凭据。对于客户端服务器验证的 .crt 和 .key 文件,我的情况相同。 如果我遗漏了一些明显的东西,请原谅我,这对我来说已经进入了隧道视野阶段,我只需要一些新鲜的眼睛。
如果有人能指出我正确的方向,我将不胜感激。
谢谢。
【问题讨论】:
标签: node.js mongodb security https client-server