我正在尝试使用SPNEGO创建一个自动登录的部署;基于本教程:http://jasig.github.io/cas/development/installation/SPNEGO-Authentication.html
我想使用我们的AD作为密钥分发中心,这样我们的域用户就可以通过CAS自动登录到我们的应用程序。
我们有一个用户在我们的域中,它有一个SPN集。
已经为这个用户生成了一个keytab文件,我已经在login.conf文件中设置了它
以下是cas配置的相关部分:
<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令牌。所以我可以看到已经开始了某种协商,但是身份验证总是失败的。
本教程/howto在"Test帐户“部分引用了Kerberos配置。这是我不明白的。我是否应该在承载CAS的机器上安装Kerberos服务器(这不是我想要的)?这似乎不符合逻辑,因为我希望AD提供Kerberos的票?
任何帮助都是非常感谢的!
谢谢,马克。
编辑:
这是真正困扰我的问题:教程/howto在"Test“部分引用了Kerberos配置。这是我不明白的。我是否应该在承载CAS的机器上安装Kerberos服务器(这不是我想要的)?在我看来,这似乎不合逻辑,因为我希望AD提供Kerberos的票?。
发布于 2014-06-24 17:40:46
您必须将浏览器配置为对CAS站点执行SPNEGO操作。
这样做可能会很容易( OS/X上的Safari,可以是开箱即用),也可以是非常困难的(让资源管理器信任您领域之外的网站)。)。
如果您正在获得类似于数据包的NTLM,这意味着浏览器不会将您的站点识别为可以使用kerberos凭据访问的站点之一。
https://stackoverflow.com/questions/24390288
复制相似问题