java - Spring Boot MSSQL Kerberos 身份验证

标签 java sql-server spring-boot jpa kerberos

目前在我的 spring boot 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,我相信这不是必需的,但不完全确定。

关于java - Spring Boot MSSQL Kerberos 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50074354/

相关文章:

java - Java Swing 的多重问题

java - 如何使用 java/kotlin 中的注释处理将方法附加到现有类?

java - 如何使用JPA生命周期事件获取实体数据

sql-server - 使用Powershell获取SQL备份数据

sql-server - 如何在 sql server 中使用虚拟列过滤查询?

java - 为什么 Arraylist<String> 作为一个长而随机的字符串存储在 H2 数据库中?

mongodb - Kotlin 跨 junit 测试共享伴随对象

java - 学习递归,调用类时出错

java - Spring Boot 仪表板不会在 VSCode 上显示应用程序

sql-server - 由于不同的隔离级别导致的 SQL Server 事务错误