3

我有一个场景,客户端使用 kerberos 身份验证(无法更改),因此我的 WCF Web 服务只能访问 WindowsIdentity 对象(System.Security.Prinicpal.WindowsIdentity)。WindowsIdentity 对象并没有告诉我太多关于用户的信息(基本上只是登录名)。我需要的是关于用户的具体声明(例如电子邮件等),以便我可以将 AD 用户映射到我的系统用户之一。

我已经与 ADFS 建立了依赖信任关系,并且从我的服务器,使用用户名和密码,我能够检索 SAML 令牌并提取我想要的声明(即 UserNameWSTrustBinding)。

话虽如此,看来鉴于我手头有一个 WindowsIdentity 对象(最终由 ADFS 系统提供),我应该可以要求 ADFS 向我颁发一个 SAML 令牌。也就是说,我没有指定用户名/密码,而是提供了 WindowsIdentity。

如果有人能指出如何实现这一目标的正确方向,我将不胜感激。

非常感谢!

编辑:我找到了以下 Microsoft 文档,该文档显示了将 kerberos 票证转换为 SAML 令牌。所以我知道它是可能的,我只是还没有弄清楚如何完成它。

https://msdn.microsoft.com/en-us/library/ff359114.aspx

4

0 回答 0