`

MongoDB 身份认证例子(译)

阅读更多

 

原文出自:http://www.mkyong.com/mongodb/mongodb-authentication-example/

返回目录:http://ysj5125094.iteye.com/blog/2192754 

 

 

MongoDB Authentication Example

This guide shows you how to enable authentication in MongoDB. The authentication is disabled by default. To configure it, you must first add a user to the “admin” database.

译:本指南将告诉你,如果在MongoDB中启用身份认证。 默认情况下身份认证是禁用的。如果想要配置他,首先必须把该用户添加到 "admin" 数据库。

 

 

> show dbs
admin  #add single user to this database
testdb

 

Note
Users with normal access in “admin” database, HAVE read and write access to all the other databases. Users with read only access to the “admin” database HAVE only read to all databases.

译:注,用户如果有一般管理员数据库权限,那就有读写访问所有其他的数据库的权利。如果用户只能访问管理员数据库,那他对其他数据库只有读权限。

 

P.S This example is using MongoDB version 2.2.3

译:这个例子使用的是MongoDB 2.2.3版本。

Authentication example

See a full example to add a “admin” user to the admin database, and a normal user to the “testdb” database, and how to perform the authentication.

译:看下面一个完整的实例,添加一个"admin"用户到 admin 数据库,普通用户操作"testdb"数据库,以及如何进行身份认证。

 

Terminal 1 – Start MongoDB in secure mode, authentication is required.

译:终端1 - 在安全模式下启动MongoDB,需要认证。

$mongod --auth

Terminal 2 – MongoDB client, see comment “#” for self-explanatory. 

译:终端2 - MongoDB客户端,以#开头的是注释部分。

$ mongo
MongoDB shell version: 2.2.3
connecting to: test
> use admin             		#1. connect to the "admin" database.
switched to db admin			
> db.addUser("admin","password")	#2. add a user "admin" to the admin database. 
{
	"user" : "admin",
	"readOnly" : false,
	"pwd" : "90f500568434c37b61c8c1ce05fdf3ae",
	"_id" : ObjectId("513af8cac115e7a6b4bcceb9")
}
addUser succeeded, but cannot wait for replication since we no longer have auth
 
> use testdb				#3. connect to the "testdb" database.
switched to db testdb
> show collections			#4. now, read and write need authentication
Sat Mar  9 16:54:57 uncaught exception: error: {
	"$err" : "unauthorized db:testdb ns:testdb.system.namespaces lock type:0 client:127.0.0.1",
	"code" : 10057
}
> use admin				#5. connect back to the "admin" database.
switched to db admin
> db.auth("admin","password")		#6. performs authentication, 1 means succeed, 0 means failed
1
> use testdb				#7. connect to the "testdb" database.
switched to db testdb
> show collections			#8. no problem, it shows all collections
system.indexes
user
> db.addUser("testdb","password")       #9. add another user "testdb" to the "testdb" database.
{
	"user" : "testdb",
	"readOnly" : false,
	"pwd" : "b9ff75cbf18bd98d8554efec12c72090",
	"_id" : ObjectId("513af934c115e7a6b4bcceba")
}
> show collections
system.indexes
system.users				#10. All users' data are stored in this system.users collection.
user
> db.system.users.find()
{ "_id" : ObjectId("513af934c115e7a6b4bcceba"), "user" : "testdb", "readOnly" : false, "pwd" : "b9ff75cbf18bd98d8554efec12c72090" }
>

 

Done.

 

References

  1. MongoDB : Security Practices and Management
  2. Java MongoDB authentication example

 

0
3
分享到:
评论

相关推荐

    mongodb安装文件

    7. **设置安全策略**:默认情况下,MongoDB允许远程连接,但出于安全性考虑,建议在生产环境中配置防火墙规则或启用身份验证。可以使用`--bind_ip`参数限制监听IP,或者通过`--auth`启动带认证的MongoDB实例。 8. *...

    mongodb-linux包下载

    在这个例子中,你已经拥有名为"mongodb-linux-x86_64-amazon-3.4.4"的文件,这个文件是一个解压后的二进制包。 2. 解压文件: 将下载的压缩包解压到一个合适的目录,例如 `/usr/local`: ``` sudo tar -zxvf ...

    MongoDB安装与设置.docx

    4. **验证启动**:在浏览器中输入`http://localhost:27017`,如果显示MongoDB欢迎页面,说明启动成功。如果失败,检查是否有其他程序占用了27017端口。 配置MongoDB为Windows服务: 1. **以管理员权限打开命令行**...

    MongoDB Java获取集合.pdf

    在这个例子中,我们看到一个名为 `MongoDBJDBC` 的 Java 类,它演示了如何连接到 MongoDB 服务器并获取集合。以下是关键步骤的详细解释: 1. **连接到 MongoDB 服务**: 使用 `MongoClient` 类的构造函数,传入 ...

    MongoDB c驱动接口和客户端软件

    C驱动支持多种鉴权机制,如SCRAM-SHA-1和SCRAM-SHA-256,这些机制用于验证客户端的身份。鉴权过程通常涉及创建用户,设置密码,然后在连接时提供这些凭证。例如,使用`mongoc_client_set_credentials()`函数可以设置...

    一个Go Golang后端干净架构项目,包含Gin MongoDB JWT认证中间件测试和Docker.zip

    包含Gin MongoDB JWT认证中间件测试和Docker.zip”提供了一个完整的Go语言后端开发框架,它基于Golang的Gin框架,结合了MongoDB数据库,实现了JWT(JSON Web Token)身份验证中间件,并包含了Docker容器化配置。...

    mongodb官方安装包

    6. **设置安全措施**:虽然MongoDB默认不启用身份验证,但在生产环境中,强烈建议配置安全措施,包括启用身份验证、设置防火墙规则以及使用SSL加密通信。 7. **备份与恢复**:了解如何对MongoDB进行数据备份和恢复...

    java操作mongodb

    在实际开发中,你可能还需要考虑错误处理、连接池管理、事务支持(如果需要的话,因为 MongoDB 默认不支持事务)以及安全性设置,比如身份验证和访问控制。确保在生产环境中正确配置 MongoDB 的安全性是非常重要的。...

    MongoDB Java插入文档.pdf

    如果MongoDB配置了用户认证,可以通过`authenticate()`方法进行身份验证。在示例代码中,`myUserName`和`myPassword`应替换为实际的用户名和密码。 4. **选择集合(Collections)**: 获取数据库中的集合,可以...

    java mongodb 连接

    如果MongoDB启用了身份验证,你需要在获取数据库实例时进行认证。在示例中,使用`authenticate()`方法进行用户名和密码的验证: ```java String username = "sa"; String passwd = "sa"; String mydb = "mydb...

    MongoDB-manual

    - **认证机制**:讲解了MongoDB支持的不同身份验证方法。 #### 安全概念 - **权限控制**:介绍了如何利用角色和权限系统来控制用户访问。 - **加密技术**:说明了可以使用的各种加密手段以增强数据安全性。 #### ...

    MongoDb db.createUser用户权限

    创建用户后,需要修改MongoDB配置文件(如 `mongod.conf`)启用身份验证,并重启服务。例如,在Windows上,可以使用 `net stop MongoDB` 停止服务,然后以管理员身份启动 `net start MongoDB`。 登录MongoShell时,...

    mongodb-linux-x86_64-3.6.13.tgz

    7. **安全注意事项**: MongoDB 3.6版本开始引入了一些安全特性,如身份验证和访问控制。在生产环境中,强烈建议启用这些功能以保护数据库免受未经授权的访问。 8. **管理MongoDB**: MongoDB提供了许多管理工具,如`...

    mongoDB 3.4.7 Linux安装文件

    6. **安全性**:默认情况下,MongoDB没有开启安全特性,如身份验证。在生产环境中,强烈建议配置用户认证和网络访问控制,以确保数据安全。 7. **连接与操作**:一旦MongoDB运行起来,你可以使用`mongo` shell进行...

    Linux64位Mongodb安装包

    在生产环境中,建议配置防火墙规则,限制对MongoDB端口(默认为27017)的访问,并启用身份验证以增加安全性。此外,还可以通过设置用户权限、网络策略等方式进一步加强安全性。 总的来说,MongoDB在Linux64位环境中...

    NodeJs+Angular+Mongodb Web开发(2)

      本项目创建的购物车提供了所需的大部分功能,但是省略了诸如身份验证和错误处理等细节,只是单纯地设计到与购物车有关的东西,其余一概省略。  例如本例子采用一个userid(用户ID)被硬编码为customerA的用户...

    python操作mongodb的密码强度验证.pdf

    2. **身份验证**: `db.authenticate('name1','password1')`这行代码用于验证数据库连接的用户名和密码。在实际应用中,这些值应替换为实际的数据库认证凭证。 3. **密码强度验证函数`passwordcheck`**: - 首先...

    第一课:mongoDb快速入手1

    还可以使用配置文件(如 `mongo.conf`)进行更详细的设置,包括启用身份验证(auth)和后台运行(fork)等选项。 在基础操作层面,MongoDB 提供了一个命令行工具,称为 MongoDB Shell,用于交互式地连接到数据库,...

    MongoDB创建用户

    然而,在实际应用中,安全性是非常重要的一个方面,MongoDB 提供了多种方式来保护数据的安全,例如用户身份验证、权限控制、加密存储等。今天,我们将讨论如何在 MongoDB 中创建用户和分配权限。 一、启动 MongoDB ...

    Express_MongoDB_GoogleOAuth2.0:这是一个具有Google oauth身份验证的故事发布Web应用程序。 它使用mongodb保存,编辑,删除和显示此应用程序成员发布的故事。 还没有完成,我目前正在从事这个项目

    **Express_MongoDB_GoogleOAuth2.0** 是一个基于Node.js、MongoDB和Express.js构建的Web应用程序...这个项目不仅涵盖了后端开发的核心技术,也涉及到了用户认证和数据管理的关键环节,是学习和实践中一个有价值的例子。

Global site tag (gtag.js) - Google Analytics