MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

GSSException:Не са предоставени валидни идентификационни данни (ниво на механизма:Неуспешно намиране на Kerberos tgt)

Милиони благодаря на всички, които отговориха и разгледайте въпроса ми.

След добавяне на някои системни свойства и нов 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;};

Кодът, който публикувах, работи за мен. Надявам се това да работи за други.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $ седмица

  2. Актуализация на Mongoose без обратно повикване

  3. Колко по-бърз е Redis от mongoDB?

  4. Голанг получава празни предмети

  5. 10 съвета за подобряване на сигурността на MongoDB