1 回答

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