Bật, tắt chức năng đăng nhập MongoDB với username, password.
Mặc định, sau khi cài MongoDB, bạn có thể truy cập MongoDB mà không cần username/password. Tuy nhiên trong nhiều trường chúng ta muốn sử dụng account (username/password) để quản lý việc truy cập database (cho phép xóa, đọc, chỉnh sửa…) thì chúng ta cần phải enable chức năng xác thực (authorization) của MongoDB lên.
(Xem thêm: Tạo user, phân quyền trên MongoDB)
Bật chức năng xác thực của MongoDB
Mặc định chức năng xác thực của MongoDB bị disable.
Để bật chức năng này nên ta có 2 cách:
Cách 1: với trường hợp start MongoDB bằng tay
Ta sử dụng tham số -auth
khi start MongoDB bằng lệnh mongod
.
mongod -auth
Cách 2: enable cấu hình security trong file config của MongoDB.
Trong file config của MongoDB (mongod.cfg
) ta thêm đoạn sau và lưu lại.
security: authorization: enabled
(Thông thường file mongod.cfg nằm trong folder cài đặt MongoDB, ví dụ trên máy của mình: C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg
)
Sau đó khởi động lại MongoDB hoặc restart lại máy tính:
Sau khi enable chức năng xác thực, nếu bạn không dùng username/password để đăng nhập thì khi thực hiện lệnh nào đó sẽ bị báo lỗi Unauthorized
Để đăng nhập MongoDB bạn cần phải cung cấp account(username/ password) và database chứa account đó với cú pháp:
mongo -u username -p password host:port/database_name
Ví dụ: đăng nhập MongoDB với account (kai/123456)
mongo -u kai -p 123456 localhost:27017/admin
(Xem thêm: Tạo user, phân quyền trên MongoDB)
Đăng nhập với username/password trên Robo3T (RoboMongo)
Trên tab Authentication
bạn tick vào ô Perform authentication
sau đó nhập thông tin database, username, password.
Tắt chức năng xác thực của MongoDB
Mặc định chức năng xác thực của MongoDB bị disable, nhưng nếu MongoDB của bạn đang bật chức năng đó mà muốn tắt đi thì làm như sau:
Cách 1: với trường hợp start MongoDB bằng tay
Ta sử dụng tham số -noauth
khi start MongoDB bằng lệnh mongod
.
mongod -noauth
Cách 2: disable cấu hình security trong file config của MongoDB.
Trong file config của MongoDB (mongod.cfg
) ta xóa hoặc comment lại đoạn sau và lưu lại.
security: authorization: enabled
Okay, Done!
Referecnes: