<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="MongoDB设置访问权限、设置用户" id="card1">
<p> 游客</p><p>
标题:MongoDB设置访问权限、设置用户<br/>
正文:<br/>
MongoDB已经使用很长一段时间了，基于MongoDB的数据存储也一直没有使用到权限访问（MongoDB默认设置为无权限访问限制），今天特地花了一点时间研究了一下，研究成果如下：注：研究成果基于Windows平台MongoDB在本机安装部署好后1. 输入命令：show dbs，你会发现它内置有两个数据库，一个名为admin，一个名为local。local好像没啥用，如果哪位在使用过程中发现了这个local表的用途，希望能够留言提醒，那我们就专心来说说admin表2. 输入命令：use admin，你会发现该DB下包含了一个system.users表，呵呵，没错，这个表就等同于MsSql中的用户表，用来存放超级管理员的，那我们就往它里面添加一个超级管理员试试看3. 输入命令：db.addUser('sa','sa')，这里我添加一个超级管理员用户，username为sa，password也为sa，即然我们添加了超级管理员，那咱们就来测试下，看看咱们再次连接MongoDB需不需要提示输入用户名、密码，我们先退出来(ctrl+c)4. 输入命令：use admin5. 输入命令：show collections，查看该库下所有的表，你会发现，MongoDB并没有提示你输入用户名、密码，那就奇怪了，这是怎么回事呢？在文章最开始提到了，MongoDB默认设置为无权限访问限制，即然这样，那我们就先把它设置成为需要权限访问限制，咱们再看看效果，怎么设置呢？6. 在注册表中，找到MongoDB的节点，在它的ImgPath中，我们修改一下，加入 -auth，如下所示：&amp;quot;D:\Program Files\mongodb\bin\mongod&amp;quot; -dbpath  e:\work\data\mongodb\db  -logpath  e:\work\data\mongodb\log -auth -service7. 输入命令：use admin8. 输入命令：show collections，呵呵，我们发现无法查看该库下的表了，提示：&amp;quot;$err&amp;quot; : &amp;quot;unauthorized db:admin lock type:-1 client:127.0.0.1&amp;quot;，很明显，提示<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2272&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2272&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2272&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2272&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2272&amp;Page=3">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=2272">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=2272">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>