MongoDB创建管理员用户
通过使用createUser方法在MongoDB中创建用户管理员。下面演示如何操作。
db.createUser(
{ user: "Guru99",
pwd: "password",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})
代码说明:
第一步是指定需要创建的“username”和“password”。
第二步是为用户分配角色。由于它需要是数据库管理员,在这种情况下,我们已分配给“ userAdminAnyDatabase”角色。该角色允许用户对MongoDB中的所有数据库具有管理特权。
db参数指定admin数据库,它是MongoDB中一个特殊的元数据库,其中包含该用户的信息。
命令执行成功,结果如下:
显示创建了一个名为“ Guru99”的用户,该用户对MongoDB中的所有数据库具有权限。
MongoDB为单个数据库创建用户
要创建将管理单个数据库的用户,我们可以使用上述相同的命令,但是我们只需要使用“ userAdmin”选项。
成功操作的例子如下:
db.createUser(
{
user: "Employeeadmin",
pwd: "password",
roles:[{role: "userAdmin" , db:"Employee"}]})
代码说明:
第一步是指定需要创建的“username” 和 “password”。
第二步是为用户分配一个角色,在这种情况下,由于需要成为数据库管理员,因此将其分配给“ userAdmin”角色。该角色允许用户仅对db选项中指定的数据库具有管理特权。
db参数指定用户应对其具有管理特权的数据库。
命令执行成功,结果如下:
结果显示创建了一个名为“ Employeeadmin”的用户,并且该用户仅对“ Employee”数据库具有权限。
管理用户
首先了解我们需要定义的角色。MongoDB中提供了完整的角色列表。例如,有一个“read role”仅允许对数据库进行只读访问,然后有一个“ readwrite”角色提供了对数据库的读写访问,这意味着用户可以发出插入,删除和更新该数据库中集合的命令。
db.createUser(
{
user: "Mohan",
pwd: "password",
roles:[
{
role: "read" , db:"Marketing"},
role: "readWrite" , db:"Sales"}
}
]
})
如上代码,显示了创建一个名为Mohan的用户,并且在多个数据库中分配了多个角色。在上面的示例中,他被授予对“ Marketing”数据库的只读权限,对“ Sales”数据库具有readWrite权限。
译者:徐扬