MongoDB的authenticate()函数
authenticate()
函数用于在MongoDB数据库中进行用户身份认证。 在使用该函数之前,首先需要在MongoDB数据库中创建一个用户,并为该用户分配相应的角色和权限。可以使用 db.createUser()
方法来创建用户。
使用方法
authenticate()
方法有两种使用方式:
1. 在 MongoDB shell 中使用
首先,需要在MongoDB shell中连接到目标数据库,使用 db.auth(username, password)
命令进行认证。
mongo --host --port
use
db.auth(username, password)
其中,
2. 在驱动程序中使用
在驱动程序中使用 authenticate()
时,需要先建立MongoDB数据库的连接,然后调用 db.authenticate(username, password)
方法进行认证。下面是一个Python代码示例:
import pymongo
# 创建MongoDB连接
client = pymongo.MongoClient(host=, port=)
# 认证
db = client[]
db.authenticate(username=, password=)
在此示例中,
和
是MongoDB server的主机名和端口号,
是要认证的数据库名称,
和
是要进行认证的用户的用户名和密码。
实例1
假设在 MongoDB 数据库 mydb
中创建了用户 user1
,密码为 userPass
,并为该用户授予了读写权限。现在,我们可以在 MongoDB shell 中使用 authenticate()
方法进行认证。
mongo --host localhost --port 27017
use mydb
db.auth("user1", "userPass")
如果认证成功,将显示一个 1
。否则显示一个错误消息。
实例2
假设在 Python 代码中使用pymongo驱动程序连接到 MongoDB 数据库 mydb
,而且我们已经创建了用户 user1
,密码为 userPass
,并为该用户授予了读写权限。现在,我们可以在Python代码中使用 authenticate()
方法进行认证。
import pymongo
client = pymongo.MongoClient(host="localhost", port=27017)
db = client["mydb"]
db.authenticate(username="user1", password="userPass")
如果认证成功,将没有抛出任何异常。否则会抛出一个错误。