private MongoClientFactoryBean buildMongoClientFactoryBean(final TxMongoConfig config) { MongoClientFactoryBean clientFactoryBean = new MongoClientFactoryBean(); MongoCredential credential = MongoCredential.createScramSha1Credential(config.getMongoUserName(), config.getMongoDbName(), config.getMongoUserPwd().toCharArray()); clientFactoryBean.setCredentials(new MongoCredential[]{credential}); List<String> urls = Splitter.on(",").trimResults().splitToList(config.getMongoDbUrl()); final ServerAddress[] serverAddresses = urls.stream().filter(Objects::nonNull) .map(url -> { List<String> adds = Splitter.on(":").trimResults().splitToList(url); return new ServerAddress(adds.get(0), Integer.valueOf(adds.get(1))); }).collect(Collectors.toList()).toArray(new ServerAddress[urls.size()]); clientFactoryBean.setReplicaSetSeeds(serverAddresses); return clientFactoryBean; }
private MongoClientFactoryBean buildMongoClientFactoryBean(final HmilyMongoConfig hmilyMongoConfig) { MongoClientFactoryBean clientFactoryBean = new MongoClientFactoryBean(); MongoCredential credential = MongoCredential.createScramSha1Credential(hmilyMongoConfig.getMongoUserName(), hmilyMongoConfig.getMongoDbName(), hmilyMongoConfig.getMongoUserPwd().toCharArray()); clientFactoryBean.setCredentials(new MongoCredential[]{credential}); List<String> urls = Splitter.on(",").trimResults().splitToList(hmilyMongoConfig.getMongoDbUrl()); ServerAddress[] sds = new ServerAddress[urls.size()]; for (int i = 0; i < sds.length; i++) { List<String> adds = Splitter.on(":").trimResults().splitToList(urls.get(i)); InetSocketAddress address = new InetSocketAddress(adds.get(0), Integer.parseInt(adds.get(1))); sds[i] = new ServerAddress(address); } clientFactoryBean.setReplicaSetSeeds(sds); return clientFactoryBean; }
private MongoClientFactoryBean buildMongoClientFactoryBean(final MythMongoConfig mythMongoConfig) { MongoClientFactoryBean clientFactoryBean = new MongoClientFactoryBean(); MongoCredential credential = MongoCredential.createScramSha1Credential(mythMongoConfig.getMongoUserName(), mythMongoConfig.getMongoDbName(), mythMongoConfig.getMongoUserPwd().toCharArray()); clientFactoryBean.setCredentials(new MongoCredential[]{credential}); List<String> urls = Splitter.on(",").trimResults().splitToList(mythMongoConfig.getMongoDbUrl()); final ServerAddress[] sds = urls.stream().map(url -> { List<String> adds = Splitter.on(":").trimResults().splitToList(url); InetSocketAddress address = new InetSocketAddress(adds.get(0), Integer.parseInt(adds.get(1))); return new ServerAddress(address); }).collect(Collectors.toList()).toArray(new ServerAddress[]{}); clientFactoryBean.setReplicaSetSeeds(sds); return clientFactoryBean; }
final String password = env.getProperty("compensation.mongo.password", "123456"); final String url = env.getProperty("compensation.mongo.url", "127.0.0.1"); MongoCredential credential = MongoCredential.createScramSha1Credential( userName, dbName,
@Bean @Qualifier("mongoLogService") @ConditionalOnProperty(prefix = "myth.mongo", name = "userName") public LogService mongoLogService() { MongoClientFactoryBean clientFactoryBean = new MongoClientFactoryBean(); MongoCredential credential = MongoCredential.createScramSha1Credential( env.getProperty("myth.mongo.userName"), env.getProperty("myth.mongo.dbName"), env.getProperty("myth.mongo.password").toCharArray()); clientFactoryBean.setCredentials(new MongoCredential[]{credential}); List<String> urls = Splitter.on(",").trimResults().splitToList(env.getProperty("myth.mongo.url")); ServerAddress[] sds = new ServerAddress[urls.size()]; for (int i = 0; i < sds.length; i++) { List<String> adds = Splitter.on(":").trimResults().splitToList(urls.get(i)); InetSocketAddress address = new InetSocketAddress(adds.get(0), Integer.parseInt(adds.get(1))); sds[i] = new ServerAddress(address); } clientFactoryBean.setReplicaSetSeeds(sds); MongoTemplate mongoTemplate = null; try { clientFactoryBean.afterPropertiesSet(); mongoTemplate = new MongoTemplate(clientFactoryBean.getObject(), env.getProperty("myth.mongo.dbName")); } catch (Exception e) { e.printStackTrace(); } return new MongoLogServiceImpl(mongoTemplate); }
@Bean @Qualifier("mongoTransactionRecoverService") public RecoverTransactionService mongoTransactionRecoverService() { MongoClientFactoryBean clientFactoryBean = new MongoClientFactoryBean(); MongoCredential credential = MongoCredential.createScramSha1Credential( env.getProperty("recover.mongo.userName"), env.getProperty("recover.mongo.dbName"), env.getProperty("recover.mongo.password").toCharArray()); clientFactoryBean.setCredentials(new MongoCredential[]{credential}); List<String> urls = Splitter.on(",").trimResults().splitToList(env.getProperty("recover.mongo.url")); ServerAddress[] sds = new ServerAddress[urls.size()]; for (int i = 0; i < sds.length; i++) { List<String> adds = Splitter.on(":").trimResults().splitToList(urls.get(i)); InetSocketAddress address = new InetSocketAddress(adds.get(0), Integer.parseInt(adds.get(1))); sds[i] = new ServerAddress(address); } clientFactoryBean.setReplicaSetSeeds(sds); MongoTemplate mongoTemplate = null; try { clientFactoryBean.afterPropertiesSet(); mongoTemplate = new MongoTemplate(clientFactoryBean.getObject(), env.getProperty("recover.mongo.dbName")); } catch (Exception e) { e.printStackTrace(); } return new MongoRecoverTransactionServiceImpl(mongoTemplate); } }
credentials.add(MongoCredential.createScramSha1Credential(userNameAndPassword[0], database, userNameAndPassword[1].toCharArray())); } else if (MongoCredential.SCRAM_SHA_256_MECHANISM.equals(authMechanism)) {
break; case SCRAM_SHA_1: credential = MongoCredential.createScramSha1Credential(userName, mechanismAuthSource, password); break; case SCRAM_SHA_256:
credentials.add(MongoCredential.createScramSha1Credential(userNameAndPassword[0], database, userNameAndPassword[1].toCharArray())); } else if (MongoCredential.SCRAM_SHA_256_MECHANISM.equals(authMechanism)) {
private MongoCredential getMongoCredential(ServerConfiguration configuration) { AuthenticationMechanism authenticationMechanism = configuration.getAuthenticationMechanism(); if (authenticationMechanism == null) { return MongoCredential.createPlainCredential(configuration.getUsername(), getAuthenticationDatabase(configuration), configuration.getPassword().toCharArray()); } else { if (AuthenticationMechanism.MONGODB_CR.equals(authenticationMechanism)) { return MongoCredential.createMongoCRCredential(configuration.getUsername(), getAuthenticationDatabase(configuration), configuration.getPassword().toCharArray()); } else if (AuthenticationMechanism.SCRAM_SHA_1.equals(authenticationMechanism)) { return MongoCredential.createScramSha1Credential(configuration.getUsername(), getAuthenticationDatabase(configuration), configuration.getPassword().toCharArray()); } } throw new IllegalArgumentException("Unsupported authentication macanism: " + authenticationMechanism); }
@Override public MongoCredential createCredential(String username, String databaseName, String password) { return MongoCredential.createScramSha1Credential( username, databaseName, asCharArray( password ) ); } },
@Override public MongoCredential createCredential(String username, String databaseName, String password) { return MongoCredential.createScramSha1Credential( username, databaseName, asCharArray( password ) ); } },
public MongoPlugin auth(String username, String password) { this.authList.add(MongoCredential.createScramSha1Credential(username, this.database, password.toCharArray())); return this; }
public MongoPlugin auth(String username, String password) { this.authList.add(MongoCredential.createScramSha1Credential(username, this.database, password.toCharArray())); return this; }
@Override public MongoDatabase createDatabase() { int port = argumentsMap.containsKey(PORT) ? Integer.parseInt(argumentsMap.get(PORT)) : DEFAULT_PORT; String host = argumentsMap.getOrDefault(HOST, DEFAULT_HOST); String databaseName = argumentsMap.getOrDefault(DATABASE_NAME, DEFAULT_DATABASE_NAME); String username = argumentsMap.getOrDefault(USERNAME, DEFAULT_USERNAME); String password = argumentsMap.getOrDefault(PASSWORD, DEFAULT_PASSWORD); List<ServerAddress> seeds = new ArrayList<>(); List<MongoCredential> credentials = new ArrayList<>(); seeds.add(new ServerAddress(host, port)); credentials.add( MongoCredential.createScramSha1Credential(username, databaseName, password.toCharArray())); Boolean useAuthentication = Boolean.valueOf(argumentsMap.getOrDefault(USE_AUTHENTICATION, FALSE)); client = useAuthentication ? new MongoClient(seeds, credentials) : new MongoClient(seeds); String dbName = argumentsMap.getOrDefault(DATABASE_NAME, DEFAULT_DATABASE_NAME); return client.getDatabase(dbName); }
@Override public MongoDatabase createDatabase() { int port = argumentsMap.containsKey(PORT) ? Integer.parseInt(argumentsMap.get(PORT)) : DEFAULT_PORT; String host = argumentsMap.getOrDefault(HOST, DEFAULT_HOST); String databaseName = argumentsMap.getOrDefault(DATABASE_NAME, DEFAULT_DATABASE_NAME); String username = argumentsMap.getOrDefault(USERNAME, DEFAULT_USERNAME); String password = argumentsMap.getOrDefault(PASSWORD, DEFAULT_PASSWORD); List<ServerAddress> seeds = new ArrayList<>(); List<MongoCredential> credentials = new ArrayList<>(); seeds.add(new ServerAddress(host, port)); credentials.add( MongoCredential.createScramSha1Credential(username, databaseName, password.toCharArray())); Boolean useAuthentication = Boolean.valueOf(argumentsMap.getOrDefault(USE_AUTHENTICATION, FALSE)); client = useAuthentication ? new MongoClient(seeds, credentials) : new MongoClient(seeds); String dbName = argumentsMap.getOrDefault(DATABASE_NAME, DEFAULT_DATABASE_NAME); return client.getDatabase(dbName); }
private void connect() { String host = this.config.getString(MONGODB_HOST, DEFAULT_MONGODB_HOST); int port = this.config.getInt(MONGODB_PORT, DEFAULT_MONGODB_PORT); String username = this.config.getString(MONGODB_USER, null); String password = this.config.getString(MONGODB_PASS, null); String authdb = this.config.getString(MONGODB_AUTHDB); if (this.config.getBoolean(MONGODB_AUTH, false) && StringUtils.isNotBlank(username) && StringUtils.isNotBlank(password) && StringUtils.isNotBlank(authdb)) { MongoClientOptions mongoClientOptions = MongoClientOptions.builder().build(); MongoCredential mongoCredential = MongoCredential.createScramSha1Credential(username, authdb, password.toCharArray()); this.mongoClient = new MongoClient(new ServerAddress(host, port), mongoCredential, mongoClientOptions); LOG.info("Successfully created MongoClient @ {}:{} with authentication", host, port); } else { this.mongoClient = new MongoClient(host, port); LOG.info("Successfully created MongoClient @ {}:{} ***without**** authentication", host, port); } }
/** * 获取Mongo的认证信息 * * @return */ @IocBean(name = "mongodbCredentialList") public List<MongoCredential> getCredentialList() { List<MongoCredential> credentials = new ArrayList<>(); if (conf.containsKey(PROP_USERNAME)) { credentials.add(MongoCredential.createScramSha1Credential(conf.get(PROP_USERNAME), conf.get(PROP_SOURCE), conf.get(PROP_PASSWORD, "").toCharArray())); } return credentials; }
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"); } }
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"); } }