1 回答

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
好的..我去解決這個(gè)問題..可能對(duì)其他被困在這個(gè)問題上的人有幫助。
首先,我在 Producer Config 屬性中設(shè)置了 krb5.conf 文件。該文件包含主機(jī)、領(lǐng)域的詳細(xì)信息以及使用 kerberos 發(fā)現(xiàn)服務(wù)所需的其他詳細(xì)信息
System.setProperty("java.security.krb5.conf", <path to conf file>);
而不是直接在屬性中設(shè)置 jaas 配置,我創(chuàng)建了 jaas conf 文件并在系統(tǒng)屬性中設(shè)置它 -
在代碼是這樣的之前 -
props.put("sasl.jaas.config", jaasConfig);
更改后 -
System.setProperty("java.security.auth.login.config", jaasFile.getPath());
示例 Jaas 配置文件jaas_client.conf結(jié)構(gòu) -
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
keyTab="#keytab-name#"
principal="#principal#";
};
文件中的 PS ,我在更新到 keytab 文件的實(shí)際路徑和具有實(shí)際值的值jaas_client.conf之后重寫文件,然后設(shè)置為#keytab-name##principal#SystemProperties
當(dāng)使用以下屬性啟用調(diào)試時(shí),可以設(shè)置調(diào)試模式以查看 JaaS 身份驗(yàn)證和票務(wù)日志 -
System.setProperty("sun.security.krb5.debug", ""+<true/false>);
添加回答
舉報(bào)