我打算安装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")); }
}
答案 0 :(得分:2)
有两种选择:
在受信任的网络中使用已禁用auth的MongoDB是可以的。 MongoDb开发人员recommend在受信任的环境中运行数据库,而不是专注于auth选项。
答案 1 :(得分:0)
同一台机器,隔离网络。我会说是的。我对我工作的系统做同样的事情。 唯一的问题是,是否有其他计算机连接到网络,也连接到互联网,可能不安全(没有防病毒,防火墙等)。
答案 2 :(得分:0)
对我来说,问题是,如何通过无密码运行获得什么?
即使您在受信任的环境中运行,使用密码真的花了那么多钱吗?虽然不应该破坏可信环境,但没有什么是完全安全的,通过添加密码,您可以添加额外的防御层。因此,如果有人违反了您的服务器,他们就不应该自动访问数据库。
出于同样的原因,当用户密码存储在数据库中时,您会对其进行加密/哈希。如果有人违反了您的服务器,他们就不会自动获取对所有内容的访问权限。
这种方法被称为纵深防御。
答案 3 :(得分:0)
如果您的系统是孤立的,那么您可以这样做。但请考虑您项目的未来图片。后来您可能需要具有受限访问权限的用户,您可能需要用户角色,如果您这样做很有可能,那么最好开始考虑这个方向并开始使用身份验证。这还将为您的数据库的安全性添加一层,而且成本太高。