当前位置: 首页 > 知识库问答 >
问题:

MongoDB:如何通过java驱动程序创建经过身份验证的数据库

易俊远
2023-03-14

我试图使用java driver V2.12在MongoDB2.6中创建一个身份验证数据库。特别是,我需要创建一个用户访问管理集合。有什么建议吗?谢了。

共有1个答案

贺雪松
2023-03-14

以下是我的解决方案:

MongoClient mcAdmin = new MongoClient(
            configuration.getServerAddresses(),
            Arrays.asList(MongoCredential.createMongoCRCredential(
                    MONGODB_ADMIN_USERNAME, "admin",
                    MONGODB_ADMIN_PASSWORD.toCharArray())));
    try {
        mcAdmin.setWriteConcern(WriteConcern.JOURNALED);
        DB db = mcAdmin.getDB(userDbName);
        BasicDBObject commandArguments = new BasicDBObject();
        commandArguments.put("user", userUsername);
        commandArguments.put("pwd", userPassword);
        String[] roles = { "readWrite" };
        commandArguments.put("roles", roles);
        BasicDBObject command = new BasicDBObject("createUser",
                commandArguments);
        db.command(command);
    } finally {
        mcAdmin.close();
    }
 类似资料:
  • 我是Spring安全的新手,我想用数据库验证用户。我已经用jdbc创建了一个登录页面和一个身份验证提供程序,它检查用户是否存在于数据库中。但是我的代码没有这样做的问题是,它允许所有用户登录!我的代码怎么了?谢谢你的帮助。 这是我的安全会议。xml:

  • 问题内容: 我目前正在尝试使用(相对)新的3.0 Java驱动程序连接到MongoDB副本集。但是,我似乎无法捕捉到用户提供错误凭据时发生的MongoSecurityExceptions。这是我当前的代码。 当使用正确的凭据运行时,此代码可以正常工作,但是如果提供了错误的凭据,则会在try-catch之外引发异常。 任何想法在哪里处理身份验证异常? 问题答案: MongoClient构造函数不会引

  • 问题内容: 我想使用cURL测试一些API。我尝试执行GET,如下所示: 在服务器上,它显示为“ 302”(表示重定向,对吧?)。我猜它重定向到“登录/”页面。 完成这项工作的正确方法是什么? 编辑:我试过: 其中login_form.txt包含“ username = username&password = password&this_is_the_login_form = 1”。不起作用 没有

  • 问题内容: 问题: 我们有一个基于Spring MVC的RESTful API,其中包含敏感信息。该API应该是安全的,但是不希望随每个请求一起发送用户凭证(用户/密码组合)。根据REST准则(和内部业务要求),服务器必须保持无状态。该API将由另一台服务器以mashup方式使用。 要求: 客户端使用凭据向(不受保护的URL)发出请求;服务器返回一个安全令牌,该令牌包含足够的信息供服务器验证未来的

  • 问题内容: 我看到了很多教程,展示了如何使用Java在mongodb中进行身份验证 我将mongodb配置为启用身份验证。在控制台中,我使用 使用管理员 db.auth(“ myUser”,“ newPassword”)并运行良好。 在Java中,在每个访问过的网站中,代码都是 大问题是代码对我不起作用,我也不知道为什么。我测试了显式更改为管理数据库。 这对我来说有效,但这不是解决方案,因为我试图

  • 使用新的mongoDB驱动程序:https://github.com/mongodb/mongo-php-driver和新的php库:https://github.com/mongodb/mongo-php-library我得到了“授权失败”,试图执行一个简单的查找()查询。 在下面的代码中,连接字符串遵循模式mongoDB://user:password@mongoinstance: port/