Mongodb spring数据mongo db ldap身份验证
我们公司最近从基本身份验证改为LDAP身份验证,常规应用现在在URL上使用Mongodb spring数据mongo db ldap身份验证,mongodb,ldap,Mongodb,Ldap,我们公司最近从基本身份验证改为LDAP身份验证,常规应用现在在URL上使用authSource=$external&authMechanism=PLAIN 这在普通的应用程序上运行良好,但我不知道如何使用Spring数据设置这些。当然有一种方法可以做到这一点,对吗?正如您在下面看到的,您不能设置类似authSource/authMechanism的内容,因此必须更改以使用URI。还要注意,当使用URI时,不能使用主机/端口和用户名/密码。这些都需要放到URI中 差不多 export spring
authSource=$external&authMechanism=PLAIN
这在普通的应用程序上运行良好,但我不知道如何使用Spring数据设置这些。当然有一种方法可以做到这一点,对吗?正如您在下面看到的,您不能设置类似authSource/authMechanism的内容,因此必须更改以使用URI。还要注意,当使用URI时,不能使用主机/端口和用户名/密码。这些都需要放到URI中 差不多
export spring_data_mongodb_database=db
export spring_data_mongodb_uri = mongodb://username:password@host:port?authSource=$external&authMechanism=PLAIN
这里是您当前可以在spring boot中为mongodb配置的所有属性
- 如果将Spring Boot mongodb api与LDAP一起使用,则uri必须是
文件夹中
文件中的以下uri:应用程序.properties
spring.data.mongodb.uri="mongodb://username:password@host:port/?authSource=$external&authMechanism=PLAIN" spring.data.mongodb.database="databasThatYouWantToConnectTo"
- 不需要其他参数,如
,spring.data.mongodb.username
,因为spring.data.mongodb.password
spring.data.mongodb.uri
中的子字符串spring.data.mongodb.uri
表示Mongo通过LDAP进行身份验证和授权authSource=$external&authMechanism=PLAIN
- 您可以查看下面的图片,该图片取自文档表单MongoDB
- 如果您使用的是Mongo Db提供的Mongo Java驱动程序,则必须执行以下连接:
import com.mongodb.MonogoClient; import com.mongodb.MongoClientURI; import com.mongodb.client.MongoDatabase; public class MongoConnect{ public static void main(String args[]){ MongoClientURI connString = new MongoClientURI("mongodb://username:password@host:port/?authSource=$external&authMechanism=PLAIN"); MongoClient mongoClient = new MongoClient(connString); MongoDatabase database = mongoClient.getDatabase("databasThatYouWantToConnectTo"); System.out.println(database.getName()+" "+ mongoClient.getCredentialList()); } }
import com.mongodb.MonogoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.client.MongoDatabase;
public class MongoConnect{
public static void main(String args[]){
MongoClientURI connString = new MongoClientURI("mongodb://username:password@host:port/?authSource=$external&authMechanism=PLAIN");
MongoClient mongoClient = new MongoClient(connString);
MongoDatabase database = mongoClient.getDatabase("databasThatYouWantToConnectTo");
System.out.println(database.getName()+" "+ mongoClient.getCredentialList());
}
}