Xml 使用消息中嵌入的凭据进行WCF身份验证

Xml 使用消息中嵌入的凭据进行WCF身份验证,xml,wcf,authentication,soap,Xml,Wcf,Authentication,Soap,我们正在替换一个现有的web服务,该服务支持大量客户端的SOAP和POX端点。SSL提供传输安全性,但消息包含嵌入在消息体中的凭据(用户名/密码)。所有使用消息安全性的WCF SOAP绑定都要求凭据位于消息头中,而webHttpBinding仅支持传输凭据 但是,由于应用程序基础结构的原因,我必须使用自定义主体和标识对象正确设置WCF。据我所知,做到这一点的唯一方法是通过IAuthorizationPolicy 我们已添加自定义ServiceAuthorizationManager,并表示希望使

我们正在替换一个现有的web服务,该服务支持大量客户端的SOAP和POX端点。SSL提供传输安全性,但消息包含嵌入在消息体中的凭据(用户名/密码)。所有使用消息安全性的WCF SOAP绑定都要求凭据位于消息头中,而webHttpBinding仅支持传输凭据

但是,由于应用程序基础结构的原因,我必须使用自定义主体和标识对象正确设置WCF。据我所知,做到这一点的唯一方法是通过IAuthorizationPolicy

我们已添加自定义ServiceAuthorizationManager,并表示希望使用PrincipalPermissionMode.custom。我已经创建了一个IDispatchMessageInspector,它检查消息并可以构造一个索赔集,供我们的定制ServiceAuthorizationManager使用

但是,我找不到将该索赔集获取给ServiceAuthorizationManager或设置主体/标识的方法

由于我需要将WCF配置为不使用其任何内置身份验证机制,因此似乎我配置的任何IAuthorizationPolicy对象都不会被调用,因为WCF认为我们正在使用匿名身份验证

如果WCF认为身份验证是匿名的,是否可以让它评估IAuthorizationPolicy?是否有更简单的方法从消息中提取凭据并与标准WCF处理管道集成