【问题标题】:CAS SSO with AD (SPNEGO)带有 AD 的 CAS SSO (SPNEGO)
【发布时间】:2014-08-14 22:21:17
【问题描述】:

我正在尝试使用 SPNEGO 创建具有自动登录功能的部署;基于本教程:http://jasig.github.io/cas/development/installation/SPNEGO-Authentication.html

我想将我们的 AD 用作密钥分发中心,以便我们的域用户通过 CAS 自动登录到我们的应用程序。

我们的域中有一个用户,它有一个 SPN 集

已经为这个用户生成了一个keytab文件,我已经在login.conf文件中设置了

这里是 cas config 的相关部分:

<bean id="jcifsConfig" class="org.jasig.cas.support.spnego.authentication.handler.support.JCIFSConfig">
    <property name="jcifsServicePrincipal" value="***SPN***" />
    <property name="kerberosDebug" value="true" />
    <property name="kerberosRealm" value="***REALM/DOMAIN***" />
    <property name="kerberosKdc" value="***Active Directory IP***" />
    <property name="loginConf" value="***Path to login.conf***" />
</bean>

登录配置是

jcifs.spnego.initiate {
   com.sun.security.auth.module.Krb5LoginModule required storeKey=true useKeyTab=true keyTab="***Path tp keytab***";
};
jcifs.spnego.accept {
   com.sun.security.auth.module.Krb5LoginModule required storeKey=true useKeyTab=true keyTab="***Path tp keytab***";
};

问题是我得到的只是来自客户端浏览器的 NTLMSSP 令牌。所以我可以看到某种协商已经开始,但是认证总是失败。

教程/操作方法在“测试 SPN 帐户”部分中引用了 Kerberos 配置。这是我不明白的。我是否应该在托管 CAS 的机器上安装 Kerberos 服务器(这不是我想要的)?对我来说这似乎不合逻辑,因为我希望 AD 提供 Kerberos 票证?

感谢任何帮助!

谢谢, 标记。

编辑:

这是真正困扰我的问题:教程/howto 在“测试 SPN 帐户”部分中引用了 Kerberos 配置。这是我不明白的。我是否应该在托管 CAS 的机器上安装 Kerberos 服务器(这不是我想要的)?我希望 AD 提供 Kerberos 票证对我来说似乎不合逻辑?

【问题讨论】:

    标签: java spring-security active-directory kerberos cas


    【解决方案1】:

    您必须配置浏览器以使用您的 CAS 站点执行 SPNEGO。

    这样做可能很容易(OS/X 上的 Safari 开箱即用),也可能非常困难(让 Explorer 信任域外的网站。)。

    Old Explorer Version Example

    如果您收到类似 NTLM 的数据包,这意味着浏览器不会将您的站点识别为可以使用 kerberos 凭据访问的站点之一。

    【讨论】:

      猜你喜欢
      • 2020-03-29
      • 1970-01-01
      • 1970-01-01
      • 2014-11-02
      • 1970-01-01
      • 1970-01-01
      • 2012-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多