我尝试使用SPNEGO创建自动登录部署;基于本教程:http://jasig.github.io/cas/development/installation/SPNEGO-Authentication.html
我想将AD用作密钥分发中心,以便我们的域用户通过CAS自动登录到我们的应用程序。
我们的域中有一个用户,它有一个SPN集
已为该用户生成密钥表文件,我已将其设置在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>
登录conf
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令牌。所以我可以看到某种协商已经开始,但身份验证总是失败。
教程/如何在&#34;测试SPN帐户&#34;中引用Kerberos配置。部分。这是我不明白的。我应该在托管CAS的机器上安装Kerberos服务器(这不是我想要的)吗?这对我来说似乎不合逻辑,因为我希望AD提供Kerberos票证?
感谢任何帮助!
谢谢, 标记
编辑:
这个问题让我很困扰:教程/如何在&#34;测试SPN帐户中引用Kerberos配置&#34;部分。这是我不明白的。我应该在托管CAS的机器上安装Kerberos服务器(这不是我想要的)吗?这对我来说似乎不合逻辑,因为我希望AD提供Kerberos票证?
答案 0 :(得分:0)
您必须将浏览器配置为使用CAS站点执行SPNEGO。
这样做可以很容易(OS / X上的Safari开箱即用)到非常困难(让资源管理器信任您域外的网站)。
如果您收到类似NTLM的数据包,则表示浏览器无法将您的站点识别为可以使用kerberos凭据访问的站点之一。