जवाब देने वाले सभी लोगों को लाख धन्यवाद और मेरे प्रश्न पर एक नज़र डालें।
कुछ सिस्टम गुण और एक नई conf फ़ाइल जोड़ने के बाद, अंत में मैं MongoDB सर्वर से जुड़ने में सक्षम हूं। इसके साथ अद्यतन कोड -
try {
System.setProperty("java.security.krb5.conf","C:/mongodb/UnixKeytab/krb5.conf");
System.setProperty("java.security.krb5.realm","EXAMPLE.COM");
System.setProperty("java.security.krb5.kdc","example.com");
System.setProperty("javax.security.auth.useSubjectCredsOnly","false");
System.setProperty("java.security.auth.login.config","C:/mongodb/UnixKeytab/gss-jaas.conf");
List<ServerAddress> serverAddresses = new ArrayList<ServerAddress>();
ServerAddress address = new ServerAddress(host, port);
serverAddresses.add(address);
List<MongoCredential> credentials = new ArrayList<MongoCredential>();
MongoCredential credential = MongoCredential.createGSSAPICredential(username);
credentials.add(credential);
MongoClient mongoClient1 = new MongoClient(serverAddresses, credentials);
DB db = mongoClient1.getDB(database);
} catch (UnknownHostException e) {
e.printStackTrace();
}
मेरी krb5.conf फ़ाइल नीचे की तरह दिखती है -
[libdefaults]
default_realm = EXAMPLE.COM
default_tkt_enctypes = des-cbc-md5 rc4-hmac
default_tgs_enctypes = des-cbc-md5 rc4-hmac
default_keytab_name = <keytab file path>
[realms]
EXAMPLE.COM = {
kdc = example.com
master_kdc = example.com
default_domain = EXAMPLE.COM
}
INTRANET = {
kdc = example.com
master_kdc = example.com
default_domain = example.com
}
मेरा gss-jaas.conf नीचे जैसा दिखता है -
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
useTicketCache=false
principal="[email protected]_REALM"
doNotPrompt=true
keyTab="path-to-my-keytab-file"
debug=true;};
मैंने जो कोड पोस्ट किया है वह मेरे लिए काम कर रहा है। आशा है कि यह दूसरों के लिए काम करेगा।