下面列出了com.mongodb.MongoCredential#createMongoCRCredential ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private MongoCredential createCredentials(Map<String, Object> map) {
final String authMechanismName = (String) map.get("authMechanism");
final AuthenticationMechanism authenticationMechanism =
AuthenticationMechanism.fromMechanismName(authMechanismName);
final String username = (String) map.get("userName");
final String authDatabase = (String) map.get("dbName");
final String password = (String) map.get("password");
switch (authenticationMechanism) {
case PLAIN:
return MongoCredential.createPlainCredential(username, authDatabase,
password.toCharArray());
case SCRAM_SHA_1:
return MongoCredential.createScramSha1Credential(username, authDatabase,
password.toCharArray());
case GSSAPI:
return MongoCredential.createGSSAPICredential(username);
case MONGODB_CR:
return MongoCredential.createMongoCRCredential(username, authDatabase,
password.toCharArray());
case MONGODB_X509:
return MongoCredential.createMongoX509Credential(username);
}
throw new IllegalArgumentException("Unsupported authentication mechanism "
+ authMechanismName);
}
private MongoCredential findMongoCredential(String user, String database, char[] pwd, String mechanism) {
MongoCredential credential = null;
switch (mechanism) {
case "scram-sha-1":
credential = MongoCredential.createScramSha1Credential(user, database, pwd);
break;
case "x509":
credential = MongoCredential.createMongoX509Credential(user);
break;
case "cr":
credential = MongoCredential.createMongoCRCredential(user, database, pwd);
break;
case "plain":
credential = MongoCredential.createPlainCredential(user, database, pwd);
break;
case "gssapi":
credential = MongoCredential.createGSSAPICredential(user);
break;
default:
credential = MongoCredential.createCredential(user, database, pwd);
break;
}
return credential;
}
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 createCredential(Map<String, String> properties) throws DataServiceFault {
MongoCredential credential = null;
String authenticationType = properties.get(DBConstants.MongoDB.AUTHENTICATION_TYPE);
String username = properties.get(DBConstants.MongoDB.USERNAME);
String password = properties.get(DBConstants.MongoDB.PASSWORD);
String database = properties.get(DBConstants.MongoDB.DATABASE);
if (authenticationType != null) {
switch (authenticationType) {
case DBConstants.MongoDB.MongoAuthenticationTypes.PLAIN:
credential = MongoCredential.createPlainCredential(username, database, password.toCharArray());
break;
case DBConstants.MongoDB.MongoAuthenticationTypes.SCRAM_SHA_1:
credential = MongoCredential.createScramSha1Credential(username, database, password.toCharArray());
break;
case DBConstants.MongoDB.MongoAuthenticationTypes.MONGODB_CR:
credential = MongoCredential.createMongoCRCredential(username, database, password.toCharArray());
break;
case DBConstants.MongoDB.MongoAuthenticationTypes.GSSAPI:
credential = MongoCredential.createGSSAPICredential(username);
break;
case DBConstants.MongoDB.MongoAuthenticationTypes.MONGODB_X509:
credential = MongoCredential.createMongoX509Credential(username);
break;
default:
throw new DataServiceFault("Invalid Authentication type. ");
}
return credential;
} else {
return null;
}
}
private MongoClient baseClient(MongoClientOptions connectionOptions) {
if (usesAuthentication) {
MongoCredential credential = MongoCredential.createMongoCRCredential(username, authenticationDatabase, password.toCharArray());
return new MongoClient(address, ImmutableList.of(credential), connectionOptions);
} else {
return new MongoClient(address, connectionOptions);
}
}
/**
* Init void.
*
* @param partition the partition
*/
public void init(Partition partition) {
try {
List<ServerAddress> addressList = new ArrayList<>();
for (String s : (List<String>) ((DeepPartition) partition).splitWrapper().getReplicas()) {
addressList.add(new ServerAddress(s));
}
//Credentials
List<MongoCredential> mongoCredentials = new ArrayList<>();
if (mongoDeepJobConfig.getUsername() != null && mongoDeepJobConfig.getPassword() != null) {
MongoCredential credential = MongoCredential.createMongoCRCredential(mongoDeepJobConfig.getUsername(),
mongoDeepJobConfig.getDatabase(),
mongoDeepJobConfig.getPassword().toCharArray());
mongoCredentials.add(credential);
}
mongoClient = new MongoClient(addressList, mongoCredentials);
mongoClient.setReadPreference(ReadPreference.valueOf(mongoDeepJobConfig.getReadPreference()));
db = mongoClient.getDB(mongoDeepJobConfig.getDatabase());
collection = db.getCollection(mongoDeepJobConfig.getCollection());
dbCursor = collection.find(generateFilterQuery((MongoPartition) partition),
mongoDeepJobConfig.getDBFields());
} catch (UnknownHostException e) {
throw new DeepExtractorInitializationException(e);
}
}
/**
* Creates client for DB specified in properties.
*
* @return MongoDB client
* @throws NumberFormatException java.lang.NumberFormatException
* @throws UnknownHostException java.net.UnknownHostException
*/
public static MongoClient createClient() throws NumberFormatException, UnknownHostException {
if (!clients.containsKey(database)) {
validateConfig(database);
MongoCredential credential = MongoCredential.createMongoCRCredential(user, database, password.toCharArray());
clients.put(database, new MongoClient(new ServerAddress(host, Integer.valueOf(port)), Arrays.asList(credential)));
}
return clients.get(database);
}
/**
* Creates client for DB specified by parameter.
*
* @param database DB
* @return MongoDB client
* @throws NumberFormatException java.lang.NumberFormatException
* @throws UnknownHostException java.net.UnknownHostException
*/
public static MongoClient createClient(String database) throws NumberFormatException, UnknownHostException {
if (!clients.containsKey(database)) {
validateConfig(database);
MongoCredential credential = MongoCredential.createMongoCRCredential(user, database, password.toCharArray());
clients.put(database, new MongoClient(new ServerAddress(host, Integer.valueOf(port)), Arrays.asList(credential)));
}
return clients.get(database);
}