微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 我如何使用自定义IChannel或IChannelFactory访问ClientCredentials?

我正在WCF中创建自定义通道,以实现自定义安全协议.不,不要逃跑!这不是那么可怕!

验证服务上的协议相对简单.困难的部分是根据客户端凭据将安全信息添加到请求中.

我想要做的是从我的频道实现中访问ClientCredentials对象(连接到正在使用的ClientProxy的对象).通常,我可以通过ServiceEndpoint实例上的Behaviors属性访问我正在尝试访问的端点:

var credentials = channel.Endpoint.Behaviors.Find<ClientCredentials>();

但是,我似乎找不到从通道本身访问通道所关联的服务端点的方法 – ChannelBase类几乎没有零元数据.

有没有办法获得与我的频道相关联的端点?有没有其他方法可以在客户端访问客户端凭据?

解决方法

标准安全通道不在内部使用ClientCredentials.他们改为使用从ClientCredentials构造的SecurityTokenManager.我建议使用一些反汇编程序来浏览整个实现.

通常,您的BindingElement应构建ChannelLister和ChannelFactory,并将所有需要的信息传递给它们.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐