【问题标题】:Kerberos doesn't work, no token in response headerKerberos 不起作用,响应标头中没有标记
【发布时间】:2017-07-03 16:31:33
【问题描述】:

我们正在尝试设置 kerberos,最初我们必须使用 kinit 进行初始化才能进行身份验证。我们像团队中的其他人一样创建了我们的校长。现在突然之间,三个用户无法让他们的 kerberos 正常工作。因为我们都是开发人员,我们的机器需要充当服务器,所以我们为每台机器创建了我们的主体。

奇怪的是,一开始它对所有人都有效,现在只对少数人有效。我们可以在 klist 中看到我们的 keytab 名称

这就是我们创建密钥表的方式

C:\Windows\system32>ktpass -princ HTTP/<complete system name>@<domain> -pass <password> -mapuser <keytab_filename>@<domain> -ptype krb 5_nt_principal -kvno 0 -out c:\keytabs\<keytab_filename>Targeting domain controller: <domain server>.<domain> Successfully mapped HTTP/<complete system name> to <keytab_filename>. Password succesfully set! Key created. Output keytab to c:\keytabs\<keytab_filename>: Keytab version: 0x502 keysize 84 HTTP/<complete_system_name>@<domain> ptype 1 (KRB5_NT_PR INCIPAL) vno 0 etype 0x17 (RC4-HMAC) keylength 16 (some hash number)

我能看到的唯一区别(从 kerberos 工作机器到非工作机器)是响应标头具有协商授权,但响应标头没有使用令牌响应。我们无法弄清楚问题是什么。

Pragma: no-cache Connection: keep-alive Content-Length: 71 Cache-Control: no-cache, no-store, must-revalidate Content-Type: text/html;charset=UTF-8 Date: Fri, 30 Jun 2017 20:18:06 GMT Expires: 0 Server: JBoss-EAP/7 WWW-Authenticate: Negotiate X-Powered-By: Undertow/1

我确保浏览器使用带有this的kerberos

非常感谢任何帮助。

【问题讨论】:

    标签: single-sign-on jboss7.x kerberos kdc


    【解决方案1】:

    我的应用程序缺少 web 模块中的 jboss 安全协商依赖项。

    <jboss-deployment-structure>
      <deployment>
        <dependencies>
          <module name="org.jboss.security.negotiation"/>
        </dependencies>
      </deployment>
    </jboss-deployment-structure>
    

    添加此依赖项后,kerberos 票证开始出现在请求和响应中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      • 2018-02-25
      • 1970-01-01
      • 2017-02-16
      相关资源
      最近更新 更多