com.mongodb.MongoCredential#createCredential ( )源码实例Demo

下面列出了com.mongodb.MongoCredential#createCredential ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: helper   文件: HelperMongo.java
public HelperMongo(@Nonnull MongoDatabaseCredentials credentials) {
    MongoCredential mongoCredential = MongoCredential.createCredential(
            credentials.getUsername(),
            credentials.getDatabase(),
            credentials.getPassword().toCharArray()
    );

    this.client = new MongoClient(
            new ServerAddress(credentials.getAddress(), credentials.getPort()),
            mongoCredential,
            MongoClientOptions.builder().build()
    );
    this.database = this.client.getDatabase(credentials.getDatabase());
    this.morphia = new Morphia();
    this.morphiaDatastore = this.morphia.createDatastore(this.client, credentials.getDatabase());
    this.morphia.getMapper().getOptions().setObjectFactory(new DefaultCreator() {
        @Override
        protected ClassLoader getClassLoaderForClass() {
            return LoaderUtils.getPlugin().getClassloader();
        }
    });
}
 
源代码2 项目: syndesis   文件: EmbedMongoConfiguration.java
private static MongoClient getClient(Boolean useCredentials, String replicaSet) {
    MongoClientSettings.Builder settings = MongoClientSettings.builder();

    if (useCredentials) {
        MongoCredential credentials = MongoCredential.createCredential(
            USER, ADMIN_DB, PASSWORD.toCharArray());
        settings.credential(credentials);
    }
    StringBuilder connectionString = new StringBuilder(String.format("mongodb://%s:%d", HOST, PORT));
    if (replicaSet != null) {
        connectionString.append(String.format("/?replicaSet=%s", REPLICA_SET));
    }
    ConnectionString uri = new ConnectionString(connectionString.toString());
    settings.applyConnectionString(uri);

    settings.readPreference(ReadPreference.primaryPreferred());

    return MongoClients.create(settings.build());
}
 
源代码3 项目: mongowp   文件: MongoClientWrapper.java
private MongoCredential toMongoCredential(MongoAuthenticationConfiguration authConfiguration) {
  switch (authConfiguration.getMechanism()) {
    case cr:
      return MongoCredential.createMongoCRCredential(authConfiguration.getUser(),
          authConfiguration.getSource(), authConfiguration.getPassword().toCharArray());
    case scram_sha1:
      return MongoCredential.createScramSha1Credential(authConfiguration.getUser(),
          authConfiguration.getSource(), authConfiguration.getPassword().toCharArray());
    case negotiate:
      return MongoCredential.createCredential(authConfiguration.getUser(), authConfiguration
          .getSource(), authConfiguration.getPassword().toCharArray());
    case x509:
      return MongoCredential.createMongoX509Credential(authConfiguration.getUser());
    default:
      throw new UnsupportedOperationException("Authentication mechanism " + authConfiguration
          .getMechanism() + " not supported");
  }
}
 
源代码4 项目: presto   文件: TestMongoClientConfig.java
@Test
public void testSpecialCharacterCredential()
{
    MongoClientConfig config = new MongoClientConfig()
            .setCredentials("username:[email protected]:[email protected]");

    MongoCredential credential = config.getCredentials().get(0);
    MongoCredential expected = MongoCredential.createCredential("username", "database", "[email protected]:w0rd".toCharArray());
    assertEquals(credential, expected);
}
 
源代码5 项目: syndesis   文件: MongoClientCustomizer.java
@Override
public void customize(ComponentProxyComponent component, Map<String, Object> options) {
    MongoCustomizersUtil.replaceAdminDBIfMissing(options);
    // Set connection parameter
    if (!options.containsKey("mongoConnection")) {
        if (options.containsKey("user") && options.containsKey("password")
                && options.containsKey("host")) {
            ConnectionParamsConfiguration mongoConf = new ConnectionParamsConfiguration(cast(options));
            // We need to force consumption in order to perform property placeholder done by Camel
            consumeOption(camelContext, options, "password", String.class, mongoConf::setPassword);
            LOGGER.debug("Creating and registering a client connection to {}", mongoConf);

            MongoClientSettings.Builder settings = MongoClientSettings.builder();
            MongoCredential credentials = MongoCredential.createCredential(
                mongoConf.getUser(),
                mongoConf.getAdminDB(),
                mongoConf.getPassword().toCharArray());

            ConnectionString uri = new ConnectionString(mongoConf.getMongoClientURI());
            settings.applyConnectionString(uri);
            settings.credential(credentials);

            MongoClient mongoClient = MongoClients.create(settings.build());

            options.put("mongoConnection", mongoClient);
            if (!options.containsKey("connectionBean")) {
                //We safely put a default name instead of leaving null
                options.put("connectionBean", String.format("%s-%s", mongoConf.getHost(), mongoConf.getUser()));
            }
        } else {
            LOGGER.warn(
                "Not enough information provided to set-up the MongoDB client. Required at least host, user and " +
                    "password.");
        }
    }
}
 
@Override
public MongoClient mongoClient() {
    if (DbSetting.AUTHENTICATION_STATUS) {
        return new MongoClient(
                new ServerAddress(DbSetting.MONGODB_HOST, DbSetting.MONGODB_PORT),
                MongoCredential.createCredential(DbSetting.DATABASE_USERNAME, getDatabaseName(), DbSetting.DATABASE_PASSWORD.toCharArray()),
                MongoClientOptions.builder().build()
        );
    } else {
        return new MongoClient(new ServerAddress(DbSetting.MONGODB_HOST, DbSetting.MONGODB_PORT));
    }
}
 
源代码7 项目: javers   文件: JaversDedicatedMongoFactory.java
private static MongoCredential getCredentials(JaversMongoProperties properties) {
    if (!hasCustomCredentials(properties)) {
        return null;
    }
    String username = properties.getMongodb().getUsername();
    String database = properties.getMongodb().getAuthenticationDatabase() != null
            ? properties.getMongodb().getAuthenticationDatabase() : properties.getMongodb().getDatabase();
    char[] password = properties.getMongodb().getPassword();
    return MongoCredential.createCredential(username, database, password);
}
 
源代码8 项目: konker-platform   文件: MongoAuditConfig.java
@Override
public Mongo mongo() throws Exception {
	if (!StringUtils.isEmpty(getUsername()) && !StringUtils.isEmpty(getPassword())) {
		try {
			MongoCredential credential = MongoCredential.createCredential(getUsername(), getDatabaseName(), getPassword().toCharArray());
			return new MongoClient(hostname, Collections.singletonList(credential));
		} catch (Exception e) {
			return new MongoClient(hostname);
		}
	} else {
		return new MongoClient(hostname);
	}

}
 
源代码9 项目: LuckPerms   文件: MongoStorage.java
@Override
public void init() {
    if (!Strings.isNullOrEmpty(this.connectionUri)) {
        this.mongoClient = new MongoClient(new MongoClientURI(this.connectionUri));
    } else {
        MongoCredential credential = null;
        if (!Strings.isNullOrEmpty(this.configuration.getUsername())) {
            credential = MongoCredential.createCredential(
                    this.configuration.getUsername(),
                    this.configuration.getDatabase(),
                    Strings.isNullOrEmpty(this.configuration.getPassword()) ? null : this.configuration.getPassword().toCharArray()
            );
        }

        String[] addressSplit = this.configuration.getAddress().split(":");
        String host = addressSplit[0];
        int port = addressSplit.length > 1 ? Integer.parseInt(addressSplit[1]) : 27017;
        ServerAddress address = new ServerAddress(host, port);

        if (credential == null) {
            this.mongoClient = new MongoClient(address);
        } else {
            this.mongoClient = new MongoClient(address, credential, MongoClientOptions.builder().build());
        }
    }
    
    this.database = this.mongoClient.getDatabase(this.configuration.getDatabase());
}
 
源代码10 项目: MongoDb-Sink-Connector   文件: MongoWrapper.java
private MongoCredential createCredentials(AbstractConfig config, String dbName) {
    String userName = config.getString(MONGO_USERNAME);
    String password = config.getString(MONGO_PASSWORD);
    if (isValid(userName) && isValid(password)) {
        return MongoCredential.createCredential(userName, dbName, password.toCharArray());
    } else {
        return null;
    }
}
 
源代码11 项目: openbd-core   文件: MongoDSN.java
public static MongoClient	newClient(String server, String user, String pass, String db) throws UnknownHostException{

	MongoClientOptions options = MongoClientOptions
			.builder()
			.readPreference( ReadPreference.secondaryPreferred() )
			.build();

	List<InetSocketAddress> serverList = AddrUtil.getAddresses(server);
	List<ServerAddress> addrs = new ArrayList<ServerAddress>();
		
	Iterator<InetSocketAddress>	it	= serverList.iterator();
	while ( it.hasNext() ){
		InetSocketAddress	isa	= it.next();
		addrs.add( new ServerAddress( isa.getAddress(), isa.getPort() ) );
	}
	
	
	if ( user != null ) {
		MongoCredential cred = MongoCredential.createCredential( user, db, pass.toCharArray() );
		List<MongoCredential> creds = new ArrayList<MongoCredential>();
		creds.add( cred );

		return new MongoClient( addrs, creds, options );
	} else {
		return new MongoClient( addrs, options );
	}

	
}
 
源代码12 项目: spring-security-mongo   文件: MongoConfiguration.java
@Bean
public MongoClient mongoClient(final MongoSettings mongoSettings) {
    ServerAddress serverAddress = new ServerAddress(
            mongoSettings.getHost(), mongoSettings.getPort());

    MongoCredential credential = MongoCredential.createCredential(
            mongoSettings.getUsername(),
            mongoSettings.getDatabase(),
            mongoSettings.getPassword().toCharArray());

    return new MongoClient(
            serverAddress, credential, new MongoClientOptions.Builder().build());
}
 
源代码13 项目: rya   文件: MongoRyaSinkTask.java
@Override
protected void checkRyaInstanceExists(final Map<String, String> taskConfig) throws IllegalStateException {
    requireNonNull(taskConfig);

    // Parse the configuration object.
    final MongoRyaSinkConfig config = new MongoRyaSinkConfig(taskConfig);
    @Nullable
    final String username = Strings.isNullOrEmpty(config.getUsername()) ? null : config.getUsername();
    @Nullable
    final char[] password = Strings.isNullOrEmpty(config.getPassword()) ? null : config.getPassword().toCharArray();

    // Connect a Mongo Client to the configured Mongo DB instance.
    final ServerAddress serverAddr = new ServerAddress(config.getHostname(), config.getPort());
    final boolean hasCredentials = username != null && password != null;

    final MongoClientOptions options = new MongoClientOptions.Builder().build();

    try(final MongoClient mongoClient = hasCredentials ?
            new MongoClient(serverAddr, MongoCredential.createCredential(username, config.getRyaInstanceName(), password), options) :
            new MongoClient(serverAddr)) {
        // Use a RyaClient to see if the configured instance exists.
        // Create the Mongo Connection Details that describe the Mongo DB Server we are interacting with.
        final MongoConnectionDetails connectionDetails = new MongoConnectionDetails(
                config.getHostname(),
                config.getPort(),
                Optional.ofNullable(username),
                Optional.ofNullable(password));

        final RyaClient client = MongoRyaClientFactory.build(connectionDetails, mongoClient);
        if(!client.getInstanceExists().exists( config.getRyaInstanceName() )) {
            throw new ConnectException("The Rya Instance named " +
                    LogUtils.clean(config.getRyaInstanceName()) + " has not been installed.");
        }
    } catch(final RyaClientException e) {
        throw new ConnectException("Unable to determine if the Rya Instance named " +
                LogUtils.clean(config.getRyaInstanceName()) + " has been installed.", e);
    }
}
 
源代码14 项目: bugu-mongo   文件: ReplicaSetBaseTest.java
protected void connectDBWithOptions(MongoClientOptions options){
    List<ServerAddress> serverList = new ArrayList<ServerAddress>();
    serverList.add(new ServerAddress("192.168.0.200", 27017));
    serverList.add(new ServerAddress("192.168.0.200", 27018));
    serverList.add(new ServerAddress("192.168.0.200", 27019));
    
    List<MongoCredential> credentialList = new ArrayList<MongoCredential>();
    MongoCredential credentialA = MongoCredential.createCredential("test", "test", "test".toCharArray());
    MongoCredential credentialB = MongoCredential.createCredential("test", "test", "test".toCharArray());
    MongoCredential credentialC = MongoCredential.createCredential("test", "test", "test".toCharArray());
    credentialList.add(credentialA);
    credentialList.add(credentialB);
    credentialList.add(credentialC);
    BuguConnection conn = BuguFramework.getInstance().createConnection();
    conn.setOptions(options);
    conn.setServerList(serverList);
    conn.setCredentialList(credentialList);
    conn.setDatabase("test");
    conn.connect();
}
 
源代码15 项目: rya   文件: GeoRyaSailFactory.java
/**
 * Create a {@link MongoClient} that is connected to the configured database.
 *
 * @param mongoConf - Configures what will be connected to. (not null)
 * @throws ConfigurationRuntimeException An invalid port was provided by {@code mongoConf}.
 * @throws MongoException Couldn't connect to the MongoDB database.
 */
private static MongoClient createMongoClient(final MongoDBRdfConfiguration mongoConf) throws ConfigurationRuntimeException, MongoException {
    requireNonNull(mongoConf);
    requireNonNull(mongoConf.getMongoHostname());
    requireNonNull(mongoConf.getMongoPort());
    requireNonNull(mongoConf.getMongoDBName());

    // Connect to a running MongoDB server.
    final int port;
    try {
        port = Integer.parseInt( mongoConf.getMongoPort() );
    } catch(final NumberFormatException e) {
        throw new ConfigurationRuntimeException("Port '" + mongoConf.getMongoPort() + "' must be an integer.");
    }

    final ServerAddress server = new ServerAddress(mongoConf.getMongoHostname(), port);

    // Connect to a specific MongoDB Database if that information is provided.
    final String username = mongoConf.getMongoUser();
    final String database = mongoConf.getMongoDBName();
    final String password = mongoConf.getMongoPassword();
    if(username != null && password != null) {
        final MongoCredential cred = MongoCredential.createCredential(username, database, password.toCharArray());
        final MongoClientOptions options = new MongoClientOptions.Builder().build();
        return new MongoClient(server, cred, options);
    } else {
        return new MongoClient(server);
    }
}
 
源代码16 项目: sockslib   文件: MongoDBUtil.java
private MongoClient getConnectedClient() {
  if (Strings.isEmpty(username)) {
    return new MongoClient(host, port);
  } else {
    MongoCredential credential =
        MongoCredential.createCredential(username, databaseName, password.toCharArray());
    return new MongoClient(new ServerAddress(host, port), Lists.newArrayList(credential));
  }
}
 
源代码17 项目: dfactor   文件: DFMongoCfg.java
public DFMongoCfg setCredential(String dbName, String userName, String password){
	credential = MongoCredential.createCredential(userName, dbName, password.toCharArray());
	return this;
}
 
源代码18 项目: quarkus   文件: MongoClients.java
private MongoCredential createMongoCredential(MongoClientConfig config) {
    String username = config.credentials.username.orElse(null);
    if (username == null) {
        return null;
    }

    char[] password = config.credentials.password.map(String::toCharArray).orElse(null);
    // get the authsource, or the database from the config, or 'admin' as it is the default auth source in mongo
    // and null is not allowed
    String authSource = config.credentials.authSource.orElse(config.database.orElse("admin"));
    // AuthMechanism
    AuthenticationMechanism mechanism = null;
    Optional<String> maybeMechanism = config.credentials.authMechanism;
    if (maybeMechanism.isPresent()) {
        mechanism = getAuthenticationMechanism(maybeMechanism.get());
    }

    // Create the MongoCredential instance.
    MongoCredential credential;
    if (mechanism == GSSAPI) {
        credential = MongoCredential.createGSSAPICredential(username);
    } else if (mechanism == PLAIN) {
        credential = MongoCredential.createPlainCredential(username, authSource, password);
    } else if (mechanism == MONGODB_X509) {
        credential = MongoCredential.createMongoX509Credential(username);
    } else if (mechanism == SCRAM_SHA_1) {
        credential = MongoCredential.createScramSha1Credential(username, authSource, password);
    } else if (mechanism == null) {
        credential = MongoCredential.createCredential(username, authSource, password);
    } else {
        throw new IllegalArgumentException("Unsupported authentication mechanism " + mechanism);
    }

    //add the properties
    if (!config.credentials.authMechanismProperties.isEmpty()) {
        for (Map.Entry<String, String> entry : config.credentials.authMechanismProperties.entrySet()) {
            credential = credential.withMechanismProperty(entry.getKey(), entry.getValue());
        }
    }

    return credential;
}
 
源代码19 项目: vertx-mongo-client   文件: CredentialListParser.java
public CredentialListParser(JsonObject config) {
  String username = config.getString("username");
  // AuthMechanism
  AuthenticationMechanism mechanism = null;
  String authMechanism = config.getString("authMechanism");
  if (authMechanism != null) {
    mechanism = getAuthenticationMechanism(authMechanism);
  }
  credentials = new ArrayList<>();
  if (username == null) {
    if (mechanism == MONGODB_X509) {
      credentials.add(MongoCredential.createMongoX509Credential());
    }
  } else {
    String passwd = config.getString("password");
    char[] password = (passwd == null) ? null : passwd.toCharArray();
    // See https://github.com/vert-x3/vertx-mongo-client/issues/46 - 'admin' as default is a security
    // concern, use  the 'db_name' if none is set.
    String authSource = config.getString("authSource",
      config.getString("db_name", MongoClientImpl.DEFAULT_DB_NAME));

    // MongoCredential
    String gssapiServiceName = config.getString("gssapiServiceName");
    MongoCredential credential;
    if (mechanism == GSSAPI) {
      credential = MongoCredential.createGSSAPICredential(username);
      credential = getMongoCredential(gssapiServiceName, credential);
    } else if (mechanism == PLAIN) {
      credential = MongoCredential.createPlainCredential(username, authSource, password);
    } else if (mechanism == MONGODB_X509) {
      credential = MongoCredential.createMongoX509Credential(username);
    } else if (mechanism == SCRAM_SHA_1) {
      credential = MongoCredential.createScramSha1Credential(username, authSource, password);
    } else if (mechanism == SCRAM_SHA_256) {
      credential = MongoCredential.createScramSha256Credential(username, authSource, password);
    } else if (mechanism == null) {
      credential = MongoCredential.createCredential(username, authSource, password);
    } else {
      throw new IllegalArgumentException("Unsupported authentication mechanism " + mechanism);
    }

    credentials.add(credential);
  }
}
 
源代码20 项目: grain   文件: MongodbManager.java
/**
 * 初始化mongodb
 * 
 * @param url
 *            地址
 * @param port
 *            端口
 * @param username
 *            用户名
 * @param password
 *            密码
 * @param dbName
 *            数据库名
 * @param log
 *            日志可以为null
 */
public static void init(String url, int port, String username, String password, String dbName, ILog log) {
	MongodbManager.URL = url;
	MongodbManager.PORT = port;
	MongodbManager.USERNAME = username;
	MongodbManager.PASSWORD = password;
	MongodbManager.DBNAME = dbName;
	MongodbManager.log = log;
	MongoCredential mongoCredential = MongoCredential.createCredential(username, dbName, password.toCharArray());
	mongoClient = new MongoClient(new ServerAddress(url, port), Arrays.asList(mongoCredential));
	mongoDatabase = mongoClient.getDatabase(MongodbManager.DBNAME);
}