小编Pen*_*nny的帖子

mongodb身份验证禁用和启用问题

现在我的计算机中有一个mongoDB,位于c:\ mongodb \ bin。首先,它是身份验证禁用。所以当我按:

C:\ Windows \ system32> mongo

有一些警告:

2018-03-28T16:53.516 + 0800 I CONTROL [initandlisten] **警告:未为数据库启用访问控制。2018-03-28T16:53.516 + 0800 I CONTROL [initandlisten] **
对数据和配置的读取和写入访问不受限制。

因此,我尝试将访问控制添加到mongoDB。我所做的是:

C:\mongodb\bin>use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
Run Code Online (Sandbox Code Playgroud)

但是在完成上述操作之后,仍然可以在没有用户名和密码的情况下登录MongoDb。即使在重新启动mongoDB服务之后,还是重新启动计算机。例如:

C:\Windows\system32>mongo
MongoDB shell version v3.4.9
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.9
Server has startup warnings:
2018-03-28T16:53:43.515+0800 I CONTROL  [initandlisten]
2018-03-28T16:53:43.516+0800 I CONTROL  [initandlisten] ** WARNING: Access contr
ol is not enabled for the database. …
Run Code Online (Sandbox Code Playgroud)

mongodb

5
推荐指数
1
解决办法
9382
查看次数

为什么GetExitCodeThread()在这里返回FALSE?

我有一个小的测试代码。我的假设在下面的代码中,因为我没有设置标志来停止线程,所以在的行中GetExitCodeThread()。它应该返回,TRUE并且返回码为STILL_ACTIVE。而在实际测试中,结果是:每一次的返回值GetExitCodeThread()FALSE,所以main(),在while从未进入循环。有人可以告诉我原因吗?我的代码有什么问题。谢谢。

// ConsoleApplication1.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "afxwin.h"

bool bExit = false;
HANDLE hOriginalThread;

static UINT ThreadFunc(LPVOID pParam)
{
    int iCount = 0;
    printf("start thread--ThreadFunc\n");
    printf("Thread loop start: --ThreadFunc");
    while (!bExit)
    {
        iCount++;
        if (iCount % 50 == 0)
            printf(".");
    }
    printf("Thread loop end: %d--ThreadFunc\n", iCount++);
    printf("end thread--ThreadFunc\n");
    return 0;
}

int _tmain(int argc, _TCHAR* argv[])
{ …
Run Code Online (Sandbox Code Playgroud)

c++ winapi mfc multithreading

1
推荐指数
1
解决办法
67
查看次数

标签 统计

c++ ×1

mfc ×1

mongodb ×1

multithreading ×1

winapi ×1