【问题标题】:Relative path for JAAS keytab configurationJAAS keytab 配置的相对路径
【发布时间】:2013-06-06 13:32:36
【问题描述】:

我有一个系统,其中 .NET 客户端使用 Kerberos 对 Java 服务器进行身份验证。一切正常,但我正在尝试改进服务器配置。目前 C:\ 的根目录中需要一个 keytab 文件,因为我的 jaas.conf 看起来像这样:

Server {
    com.sun.security.auth.module.Krb5LoginModule required
    useKeyTab=true
    storeKey=true
    isInitiator=false
    keyTab="///C:/keytab"
    principal="XXX";
};

我正在尝试使 keyTab 属性成为相对路径,但没有运气。我试过的:

  • keyTab="///keytab"
  • keyTab="///./keytab"
  • keyTab="classpath:keytab"

所有这些都会导致异常,因此显然找不到 keytab 文件。

我已经搜索并read the docs 并将我的头撞到了墙上。谁能告诉我实现这一切所需的魔法咒语?

【问题讨论】:

    标签: java configuration kerberos jaas


    【解决方案1】:

    【讨论】:

    • 糟糕,我想它会在类路径中查找 keytab :(
    • 我是这么想的,但是不管我把keytab文件放在哪里,如果没有绝对路径,它都拒绝找到它。
    • 我将 jaas.conf 和 keytab 放在与我构建的 Jar 相同的文件夹中。我在 jaas.conf 中使用 keytab 的相对路径,它似乎正在工作。
    • 你能找到解决这个问题的方法吗?
    • @TomN.Would 会帮助您发布这段代码。
    【解决方案2】:

    我也尝试将 keytab 放在与 jaas.conf 文件相同的文件夹中(在 conf 文件夹中)。做 keytab="keytab" 是行不通的。幸运的是,它使用了与其他地方相同的配置变量,因此解决方案是设置:

    keyTab="${catalina.base}/conf/keytab"
    

    【讨论】:

      猜你喜欢
      • 2014-04-27
      • 2010-09-11
      • 2023-03-04
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多