资讯专栏INFORMATION COLUMN

一步一步搭建react应用-mongodb开启身份认证

elarity / 1801人阅读

摘要:一步一步构建一个应用开篇地址通过不认证的方式启动连接实例创建用户超级管理员重启,加上访问控制认证连接时认证连接后认证为其他库创建用户添加对有读写权限,对有读权限

[一步一步构建一个react应用-开篇](https://segmentfault.com/a/11...

git地址

通过不认证的方式启动Mongodb

</>复制代码

  1. mongod --port 3007 --config mongod.conf

mongo 连接实例 mongo --port 3307

创建用户超级管理员

</>复制代码

  1. use admin
  2. db.createUser(
  3. {
  4. user: "myAdmin",
  5. pwd: "XXXXX",
  6. roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  7. }
  8. )

重启mongodb,加上访问控制

</>复制代码

  1. mongod --port 3007 --config mongod.conf --auth

认证

连接时认证

</>复制代码

  1. mongo --port 3307 -u "xxx" -p "xxx" --authenticationDatabase "admin"

连接后认证

</>复制代码

  1. mongo --port 3307
  2. use admin
  3. db.auth("username","pwd")

为其他库创建用户

</>复制代码

  1. use movies
  2. db.createUser(
  3. {
  4. user: "moviesAdmin",
  5. pwd: "XXXX",
  6. roles: [ { role: "readWrite", db: "movies" },
  7. { role: "read", db: "db2" } ]
  8. }
  9. )
  10. //添加user moviesAdmin,对movies有读写权限,对db2有读权限

db.js

</>复制代码

  1. const {MongoClient,ObjectId} = require("mongodb")
  2. const f = require("util").format
  3. const user = encodeURIComponent("moviesAdmin")
  4. const pwd = encodeURIComponent("xxxxx")
  5. const authMechanism = "DEFAULT"
  6. let db_name="Movies"
  7. if(process.env.NODE_ENV=="test"){
  8. db_name="Movies_test"
  9. }
  10. const url = f(`mongodb://%s:%s@localhost:3307/${db_name}?authMechanism=%s`, user, pwd, authMechanism)
  11. module.exports = {
  12. connect() {
  13. return MongoClient.connect(url).catch(e=>{
  14. console.log(e)
  15. })
  16. },
  17. id(id) {
  18. try {
  19. if (id) {
  20. return new ObjectId(id)
  21. } else {
  22. return new ObjectId()
  23. }
  24. } catch (e) {
  25. }
  26. }
  27. }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/88465.html

相关文章

  • 步一搭建react应用-mongodb开启身份认证

    摘要:一步一步构建一个应用开篇地址通过不认证的方式启动连接实例创建用户超级管理员重启,加上访问控制认证连接时认证连接后认证为其他库创建用户添加对有读写权限,对有读权限 [一步一步构建一个react应用-开篇](https://segmentfault.com/a/11... git地址 通过不认证的方式启动Mongodb mongod --port 3007 --config mongo...

    fredshare 评论0 收藏0
  • 步一步构建一个react应用-开篇

    摘要:线上地址主要从下面几点入手一步一步搭建应用前后端初始化爬取豆瓣电影的电影信息开启身份认证使用来做基于的用户身份认证中使用来写单元测试部署技术栈没用之后改运行代码到本地项目地址喜欢就一下吧前端后端需要安装本项目端口并开启权限认证。 介绍 断断续续利用周末时间做了两个月,基于react和express的一个小项目差不多做完了。所以想写一系列文章来总结一下前后端用到技术及遇到的问题和解决方法...

    BigTomato 评论0 收藏0
  • 步一步构建一个react应用-开篇

    摘要:线上地址主要从下面几点入手一步一步搭建应用前后端初始化爬取豆瓣电影的电影信息开启身份认证使用来做基于的用户身份认证中使用来写单元测试部署技术栈没用之后改运行代码到本地项目地址喜欢就一下吧前端后端需要安装本项目端口并开启权限认证。 介绍 断断续续利用周末时间做了两个月,基于react和express的一个小项目差不多做完了。所以想写一系列文章来总结一下前后端用到技术及遇到的问题和解决方法...

    lylwyy2016 评论0 收藏0
  • 步一搭建react应用-部署

    摘要:前端前端构建后的目录下的文件可以写个脚本到服务器,但这里借用一下的部署功能来部署前端代码。 线上地址 git地址 一步一步构建一个react应用-开篇 推荐浏览器开发者工具开启手机设备模式 装环境 前提:买个ESC、弹性公网ip、域名 设置服务器免密登录 本地应该都有.ssh目录,并且生成了公私钥,将本地id_rsa,id_rsa.pub scp到服务器 /.ssh目录 之所以把私钥也...

    roadtogeek 评论0 收藏0
  • 步一搭建react应用-部署

    摘要:前端前端构建后的目录下的文件可以写个脚本到服务器,但这里借用一下的部署功能来部署前端代码。 线上地址 git地址 一步一步构建一个react应用-开篇 推荐浏览器开发者工具开启手机设备模式 装环境 前提:买个ESC、弹性公网ip、域名 设置服务器免密登录 本地应该都有.ssh目录,并且生成了公私钥,将本地id_rsa,id_rsa.pub scp到服务器 /.ssh目录 之所以把私钥也...

    mikyou 评论0 收藏0

发表评论

0条评论

elarity

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<