使用mongoDB无密码可以吗?

时间:2011-11-21 09:55:38

标签: mongodb mongodb-.net-driver

我打算安装mongodb和连接到同一台机器的Windows服务。 那台机器将处于隔离网络中。

当我们这样做的时候。 是否可以连接本地mongodb无密码?

我计划的属性将是这样的......

private MongoDatabase _db;
public MongoDatabase DB
{
    get
    {
        if (_db == null)
        {
            var mongoServer = MongoServer.Create();
            _db = mongoServer.GetDatabase("myStatistics");
        }
        return _db;
    }
}

private MongoCollection _collection;
public MongoCollection Collection
{
    get { return _collection ?? (_collection = DB.GetCollection("myStats")); }
}

4 个答案:

答案 0 :(得分:2)

有两种选择:

  1. 受信任环境中的无密码
  2. 密码保护
  3. 在受信任的网络中使用已禁用auth的MongoDB是可以的。 MongoDb开发人员recommend在受信任的环境中运行数据库,而不是专注于auth选项。

答案 1 :(得分:0)

同一台机器,隔离网络。我会说是的。我对我工作的系统做同样的事情。 唯一的问题是,是否有其他计算机连接到网络,也连接到互联网,可能不安全(没有防病毒,防火墙等)。

答案 2 :(得分:0)

对我来说,问题是,如何通过无密码运行获得什么?

即使您在受信任的环境中运行,使用密码真的花了那么多钱吗?虽然不应该破坏可信环境,但没有什么是完全安全的,通过添加密码,您可以添加额外的防御层。因此,如果有人违反了您的服务器,他们就不应该自动访问数据库。

出于同样的原因,当用户密码存储在数据库中时,您会对其进行加密/哈希。如果有人违反了您的服务器,他们就不会自动获取对所有内容的访问权限。

这种方法被称为纵深防御。

答案 3 :(得分:0)

如果您的系统是孤立的,那么您可以这样做。但请考虑您项目的未来图片。后来您可能需要具有受限访问权限的用户,您可能需要用户角色,如果您这样做很有可能,那么最好开始考虑这个方向并开始使用身份验证。这还将为您的数据库的安全性添加一层,而且成本太高。