【发布时间】: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