您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 邵阳分类信息网,免费分类信息发布

[教程]MongoDB 从入门到进阶 (User系统)

2024/5/28 13:28:10发布36次查看
自从mongodb升级到2.4之后,user系统,或者说是权限系统有了翻天覆地的变化。 在mongodb2.4之前的user系统,除了用户名和密码之外,只有一个readonly属性。 如果一个用户在admin数据库里面进行了登陆,则admin数据库里面的readonly属性将被沿用到其他所有的
自从mongodb升级到2.4之后,user系统,或者说是权限系统有了翻天覆地的变化。
在mongodb2.4之前的user系统,除了用户名和密码之外,只有一个readonly属性。
如果一个用户在admin数据库里面进行了登陆,则admin数据库里面的readonly属性将被沿用到其他所有的数据库。
这样的权限管理当然是最最容易管理的,任何能够登入到mongodb的用户,如果在admin的数据库的用户表里面存在记录,则对于整个服务器上的所有数据库的访问权限也就固定下来了。
当然,用户可以了在个别的数据库的用户表中定义自己的权限。所谓的权限也就是只读或者非只读。
到了2.4之后,mongodb的用户模型发生了很大的变化
mongouser(2.4之前)
用户名
密码
是否只读
mongouser(2.4之后)
用户名
密码
角色
其他数据库角色(如果该用户在admin数据库的user表里面登陆的话,可以个别指定对于具体数据库访问的权限)
外部验证
“角色”这个概念,也“是否只读”比起来,内容丰富多了,不同的角色可以进行的操作是不同的,有的可以管理用户,看得到用户表,有的只能看到普通的数据表。
最近一直在对用户和权限进行研究,总结了一下心得:
1.由于要顾及以前的版本,readonly属性还是可以使用的,不过,readonly和role是不能共存的
2.密码和外部验证,也是不能共存的,要么用密码验证身份,要么用外部验证数据库来验证身份
3.其他数据库角色只能在admin里面进行登录。
接下来说说坑爹的c#的驱动程序:c#的驱动程序,对于mongouser的巨大变化,还没有开始进行对应。自己动手丰衣足食,我现在的开发都是使用自己改写的mongouser类。
我不是很明白,为什么c#驱动不对应mongouser的变化,我也不清楚其他语言的驱动程序是否也没有对应。。。。
这里是新的添加用户的gui
添加了用户后,请不要忘记在启动mongodb的时候加上 --auth的参数,不然的话,默认是不会启动认证的,不管是谁,都是完全的admin的权限。
如果对于我的gui工具感兴趣,github上面有所有的代码
https://github.com/magicdict/magicmongodbtool
这次工具开始尝试提供性能监视工具,当然,只是一个小的尝试罢了。
再说几句题外话,最近ibm宣布和10gen(mongodb的开发公司)进行合作。我不知道ibm准备多大限度的支持mongodb。但是不管怎么说,,对于mongodb的爱好者来说,是一个不错的消息。
mongodb现在还是冷门的数据库。园子里面也少有介绍mongodb的文章,或者即使介绍,也是入门级别的。
技术就像赌博一样,谁知道明年的这个时候,mongo是不是会大红大紫,成为另一个oracle。不管怎么样,先投资一下吧。。。。。
想要直接体验工具的:   net3.5是必须的。。。。
邵阳分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录