mongodb node.js 身份验证启动/连接

创建管理员用户

$ mongo

> use admin

> db.createUser(
     {
       user:"user01",
       pwd:"pwd123",
       roles:[{role:"root",db:"admin"}]
     }
  )

> exit

验证账户

$ mongo
> use admin 
> db.auth('user01','pwd123')
1

返回1,表示验证通过

获取所有用户

> db.getUsers()

> db.changeUserPassword("reporting", "SOh3TbYhxuLiW8ypJPxmt1oOfL")

删除数据库用户

$ mongo
> use admin 
> db.auth('user01','pwd123')
1
> db.dropUser('user02') // user02 为你创建的其他用户

启用身份验证启动

使用fork启动

$ mongod --auth --port 27017 --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork

如何查询dbpath/logpath

$ ps aux|grep mongo

Node.js 中进行验证连接

连接数据库

mongodb: 'mongodb://user01:pwd123@localhost:27017/dbname?authSource=admin'

abname 填你的dbname

如果使用了session,session的保存也是在mongodb中,那么也需要验证,以express-session为例:

const session = require('express-session');
const MongoStore = require('connect-mongo')(session);

const app = express();

app.use(session({
  secret: 'a%y*i#jad^&%$897_+23r&1jk(q!%t-+16HgsuW',
  resave: false,
  saveUninitialized: true,
  cookie: {
    maxAge: 60 * 60 * 1000
  },
  store: new MongoStore({
    url: 'mongodb://user01:pwd123@localhost:27017/session?authSource=admin'
  })
}));
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值