【问题标题】:Mixed authentication modes: send both Kerberos token and username token over HTTPs with WCF混合身份验证模式:使用 WCF 通过 HTTPs 发送 Kerberos 令牌和用户名令牌
【发布时间】:2010-01-12 23:06:11
【问题描述】:

是否可以使用 WCF 通过 HTTPs 发送用户名令牌和 kerberos 令牌?

我们可以使用自定义绑定并将身份验证模式设置为“UserNameOverTransport”,这将根据 OASIS Web 服务安全标准在 SOAP 标头中包含用户名令牌。

也可以将身份验证模式设置为“KerberosOverTransport”,这将在 SOAP 标头中包含一个 Kerberos 令牌。

但是,我们尝试通信的服务需要同时使用 kerberos 令牌和用户名令牌进行身份验证。现有的身份验证模式似乎不可能。

【问题讨论】:

  • 您正在尝试与 WCF 服务通信的服务?我以为单个端点只能有一个身份验证模式。
  • 不,我们正在使用 JBoss ESB 与 Web 服务交互。

标签: wcf authentication service kerberos


【解决方案1】:

令牌(这是一个 Kerberos 令牌)实际上嵌入了用户名。因此,如果您需要与需要两者的服务进行通信,那么您将需要使用KerberosOverTransport

然后您需要将令牌传递给constructor of WindowsIdentity which asks for an IntPtr

构建完成后,您可以通过name property 访问用户名。可以在此处找到几乎您需要的一段代码(没有登录位):

http://kseesharp.blogspot.com/2009/04/c-create-windowsidentity-from-userid.html

【讨论】:

    猜你喜欢
    • 2019-11-24
    • 1970-01-01
    • 2013-09-09
    • 2018-09-09
    • 2014-12-17
    • 2016-04-04
    • 2015-11-04
    • 1970-01-01
    • 2016-09-26
    相关资源
    最近更新 更多