Grails v3.1.4 为mongodb连接指定加密密码

Posted

技术标签:

【中文标题】Grails v3.1.4 为mongodb连接指定加密密码【英文标题】:Grails v3.1.4 specify encrypted password for mongodb connection 【发布时间】:2018-02-05 10:49:21 【问题描述】:
---
grails:
    mongodb:
        host: "localhost"
        port: 27017
        databaseName: "dbName"
        username: "user"
        password: "encryptedPassword"
---

如何在密码用于连接 MongoDB 之前对其进行解密?原因是我不需要在配置中指定纯文本密码。

【问题讨论】:

docs.mongodb.com/manual/reference/connection-string 我的问题是如何在我的 application.yml 文件中指定加密密码,并在建立与 MongoDB 的连接时(在代码内部)以某种方式对其进行解密。 【参考方案1】:

对密码进行加密是隐蔽性的安全性,并且很容易被黑客入侵。 我建议您使用外部配置文件或系统环境变量。

这种方法的另一个优点是您无需在每次更改密码时都重新编译/修改您的战争。

【讨论】:

我们只在配置文件中指定密码。它不需要重新编译代码,只需重新启动服务器就足够了。无论如何,将加密密码放在配置文件中仍然比纯文本密码好。如果用于加密密码的加密技术很强,我看不出有什么理由说明为什么它是一种糟糕的方法。

以上是关于Grails v3.1.4 为mongodb连接指定加密密码的主要内容,如果未能解决你的问题,请参考以下文章

Mongodb身份验证不适用于grails,而是来自控制台

grails,mongodb - 多个数据库

如何为 mongodb 副本集配置 grails 3

在 Grails 3.x 中安装和使用 MongoDB

尝试使用 mongodb 插件在 grails 中创建 mongodb 集合

在 grails3 中使用 mongodb 和休眠