无法使用Spring JPA从用户Kerberos错误获取密码
我正在尝试使用Spring JPA使用Kerberos连接到MSSQL DB。我使用:
ktab -k <keytabPath> -a <name>@<domain>
创建jaas.conf
文件:
SQLJDBCDriver {
com.sun.security.auth.module.Krb5LoginModule
required
client=TRUE
doNotPrompt=true
debug=true
useKeyTab=true
storeKey=true
keyTab="<keytabName>"
principal="<name>@<domain>"
};
keytab
和jaas.conf
文件中的文件位于资源文件夹
中
App.Properties:
spring.jpa.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
spring.jpa.hibernate.ddl-auto=none
spring.jpa.hibernate.show_sql=true
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.url=jdbc:<url>\\<instance>:<port>;databaseName=<dbName>;authenticationScheme=JavaKerberos;integratedSecurity=true;domain=<domain>
设置VM参数:
-Djavax.net.ssl.trustStore=<path_to_cacerts>
-Djava.security.krb5.conf=<path_to_krb5>
-Djava.security.auth.login.config=<path_to_jaas>
-Duser.name=<name>
-Djavax.security.auth.useSubjectCredsOnly=true
-Djava.security.krb5.realm=<domain>
-Djava.security.krb5.kdc=<domain>
-Dsun.security.krb5.debug=true
-Djavax.net.debug=ssl
但是我得到:无法从用户错误中获取密码。怎么了 ?似乎设置是正确的。我可以使用Intellij数据库窗口(使用Windows凭据选项)连接到数据库。
I am trying to use Spring JPA to connect to mssql db using kerberos. I generated keytab using:
ktab -k <keytabPath> -a <name>@<domain>
created jaas.conf
file:
SQLJDBCDriver {
com.sun.security.auth.module.Krb5LoginModule
required
client=TRUE
doNotPrompt=true
debug=true
useKeyTab=true
storeKey=true
keyTab="<keytabName>"
principal="<name>@<domain>"
};
both keyTab
and jaas.conf
files are in resource folder
app.properties:
spring.jpa.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
spring.jpa.hibernate.ddl-auto=none
spring.jpa.hibernate.show_sql=true
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.url=jdbc:<url>\\<instance>:<port>;databaseName=<dbName>;authenticationScheme=JavaKerberos;integratedSecurity=true;domain=<domain>
set the VM parameters:
-Djavax.net.ssl.trustStore=<path_to_cacerts>
-Djava.security.krb5.conf=<path_to_krb5>
-Djava.security.auth.login.config=<path_to_jaas>
-Duser.name=<name>
-Djavax.security.auth.useSubjectCredsOnly=true
-Djava.security.krb5.realm=<domain>
-Djava.security.krb5.kdc=<domain>
-Dsun.security.krb5.debug=true
-Djavax.net.debug=ssl
yet i am getting: Unable to obtain password from user error. What is wrong ? It seems the set up is correct. I can connect to the database using intellij database window ( using windows credential option ).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论