1

我正在尝试在 Java 上实现 Kerberos 身份验证以使用 Sharepoint 2010。
已经进行了大量配置:SPN、委托、权限、网络。使用 org.ietf.jgss 实现 Kerberos。

当前状态如下: IE 工作正常,Java 应用程序工作不正确。

我现在几乎唯一的区别是在事件查看器\Windows 日志\安全中。
如果我使用 Internet Explorer 登录,它会显示:

帐户已成功登录。
...
新登录:
安全 ID:COMPANYDOMAIN\myusername
帐户名称:myusername
帐户域:COMPANYDOMAIN
...
详细身份验证信息:
登录过程:Kerberos

使用我的 JavaApp 登录:

帐户已成功登录。
...
新登录:
安全 ID:匿名登录 ------> ???
帐户名:myusername
帐户域:COMPANYDOMAIN.NET ------> .NET(!)
...
详细的身份验证信息:
登录过程:Kerberos

使用 Wireshark,我可以看到票证在端点被成功接受,除了加密令牌的大小之外没有任何区别,甚至更多 - SharePoint 确实适用于我的 java 客户端。为什么它在匿名登录下工作的问题是不同的,我应该在某个地方关闭它。

主要问题是为什么安全 ID 是“匿名登录”,而帐户名和域是有效的?委派\模拟问题?但是 IE 在即使不在 Active Directory 之外的机器上也能正常工作。

如果需要,我可以提供其他信息:网络流量、SPN、应用程序池、权限、AD 配置。

============================

已解决:通过取消选中 Active Directory 用户帐户属性(选项卡帐户,帐户选项部分)中的复选框“不需要 Kerberos 预身份验证”来解决问题。

4

0 回答 0