MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

GSSException:Không có thông tin xác thực hợp lệ được cung cấp (Cấp cơ chế:Không tìm thấy bất kỳ Kerberos tgt nào)

Triệu cảm ơn tất cả những người đã trả lời và xem câu hỏi của tôi.

Sau khi thêm một số Thuộc tính Hệ thống và một tệp conf mới, cuối cùng tôi có thể kết nối với máy chủ MongoDB. Dưới đây là mã được cập nhật -

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();
    }

Tệp krb5.conf của tôi trông giống như bên dưới -

[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 của tôi trông giống như bên dưới -

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;};

Mã tôi đã đăng đang làm việc cho tôi. Hy vọng điều này sẽ hiệu quả với những người khác.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sắp xếp kết quả tổng hợp addToSet

  2. Bắt đầu:Tạo giao diện io.Writer để đăng nhập vào cơ sở dữ liệu mongodb

  3. Giàn giáo Yeoman, Mongoose và MongoDB

  4. C # MongoDB.Driver GetServer là Gone, What Now?

  5. MongoDB $ toBool