Mặc định trong mongoDB, chúng ta có thể sử dụng MongoDB Server mà không cần phải đăng nhập vào hệ thống. Tuy nhiên , trong một số trường hợp thì việc sử dụng user để thao tác trên MongoDB Server sẽ cho kết quả tốt hơn và đảm bảo tính bảo mật của cơ sở dữ liệu. Ở MongoDB thì tài khoản đăng nhập cũng chính là user trong hệ thống, do đó ta sẽ gom chung việc khởi tạo tài khoản và khởi tạo user làm một.
Trong MongoDB, ta tạo user mới bằng phương thức createUser(). Cú pháp:
Để tạo một user cấp hệ thống, ta thực hiện tạo một user trên database admin, user này sẽ có thể truy cập và chỉnh sửa các database khác nếu quyền của user này cho phép.
Ví dụ, đầu tiên ta sẽ tạo một user cấp hệ thống với username = “ad”, password =”1234”. User này sẽ được gán quyền là root, tức quyền cao nhất trong hệ thống:
39
Trong MongoDB, để đăng nhập bằng user và password, ta sẽ có 2 cách để đăng nhập:
- Cách 1: chỉ rõ username và password Ta sử dụng cú pháp :
Ví dụ, ta sẽ đăng nhập bằng tài khoản user vừa tạo ở trên:
- Cách 2: Đăng nhập với phương thức db.auth()
Với cách này, đầu tiên ta sẽ truy cập vào bằng lệnh mongo, sau đó sử dụng lệnh db.auth() trên database cần xác thực:
Như vậy ta đã đăng nhập thành công vào hệ thống. Sau khi đăng nhập vào hệ thống bằng user có quyền root, ta có thể tạo ra các user khác ở cả cấp hệ thống và cấp cơ sở dữ liệu. Giả sử ở đây, ta sẽ tạo một user có username là “person1” có password là “123” với quyền đọc /ghi trên database shopping. Ta thực hiện như sau:
40