Java 无法为部署在Pivotal Cloud Foundry中的Spring Boot应用程序获取身份验证的主体名称
我不熟悉Spring Boot和CF,但我有一个Spring Boot应用程序正在运行,它需要Kerberos身份验证才能连接到配置单元。我有一个keytab,当我在本地机器上运行它时,我给了它“src/resources…”的路径,它运行没有问题!但是,当我将其迁移到CloudFoundry时,我给了它“/home/vcap/…”的路径,这应该是它获取键表的正确路径。 我也在运行这个:Java 无法为部署在Pivotal Cloud Foundry中的Spring Boot应用程序获取身份验证的主体名称,java,spring,spring-boot,cloud-foundry,Java,Spring,Spring Boot,Cloud Foundry,我不熟悉Spring Boot和CF,但我有一个Spring Boot应用程序正在运行,它需要Kerberos身份验证才能连接到配置单元。我有一个keytab,当我在本地机器上运行它时,我给了它“src/resources…”的路径,它运行没有问题!但是,当我将其迁移到CloudFoundry时,我给了它“/home/vcap/…”的路径,这应该是它获取键表的正确路径。 我也在运行这个: System.setProperty("java.security.krb5.conf"
System.setProperty("java.security.krb5.conf", PropertiesUtils.getProperty("KRB5_ENV"));
System.setProperty("security.auth.login.config", PropertiesUtils.getProperty("JAAS_CONF"));
让我通过keytab进行身份验证。JAAS配置文件具有的位置以及主体。我在CloudFoundry中执行应用程序时遇到此错误
java.sql.SQLException: [Simba][HiveJDBCDriver](500168) Error creating login context using ticket cache: Unable to obtain Principal Name for authentication.
感谢您的帮助!谢谢。也许可以尝试添加系统属性
sun.security.krb5.debug=true
,这将为您提供更多有关正在发生的事情的详细信息。您可以通过将-Dsun.security.krb5.debug=true
附加到JAVA_OPTS env变量(使用cf set env
)并重新启动应用程序来完成此操作。谢谢!我进行了调试,在为系统设置属性时,我实际上缺少了关键字java!