gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 12:34:22 24 4
gpt4 key购买 nike

我正在 WCF 中创建自定义 channel 以实现自定义安全协议(protocol)。不,不要逃!没那么可怕!

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

我想做的是从我的 channel 实现中访问 ClientCredentials 对象(附加到正在使用的 ClientProxy 的对象)。通常,我会通过 Behaviors 访问它我试图到达的端点的 ServiceEndpoint 实例上的属性:

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

但是,我似乎无法找到一种方法来从 channel 本身内部访问 channel 关联的服务端点 - ChannelBase 类几乎没有可用的元数据。

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

最佳答案

标准安全通道不在内部使用 ClientCredentials。他们改为与 SecurityTokenManager 交谈,后者由 ClientCredentials 构建。我建议使用一些反汇编程序来浏览整个实现。

通常,您的 BindingElement 应该同时构建 ChannelListerChannelFactory 并向它们传递所需的所有信息。

关于c# - 我如何使用自定义 IChannel 或 IChannelFactory 访问 ClientCredentials?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7287607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com