Spring 启动 MSSQL Kerberos 身份验证

Spring Boot MSSQL Kerberos Authentication

目前在我的 spring 引导 application.properties 文件中,我正在指定以下行以连接到 MSSql 服务器。

spring.datasource.url=jdbc:sqlserver://localhost;databaseName=springbootd

spring.datasource.username=sa

spring.datasource.password=Projects@123

我不想提供用户名和密码,而是想使用 kerberos 对用户进行身份验证,我必须进行哪些更改。

我尝试在 JPA 官方文档中搜索但找不到任何内容。这里的线索表示赞赏。

基本上,您需要正确设置 krb5.conf 文件。您可以通过以下命令并输入密码来验证该配置:

kinit <user-name>

此外,请确保您有 JDBC URL,例如:

jdbc:sqlserver://servername=server_name;integratedSecurity=true;authenticationScheme=JavaKerberos;userName=user@REALM;password=****

详情见Microsoft JDBC driver documentation

编辑:

忘记提及启动参数。添加以下 JVM 参数:

-Djava.security.krb5.conf=<PATH_TO>/krb5.conf

如果您使用默认值,我认为这不是必需的 krb5.conf 但不完全确定。