加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 17:19:49 所属栏目:百科 来源:网络整理
导读:我正在WCF中创建自定义通道,以实现自定义安全协议.不,不要逃跑!这不是那么可怕! 验证服务上的协议相对简单.困难的部分是根据客户端凭据将安全信息添加到请求中. 我想要做的是从我的频道实现中访问ClientCredentials对象(连接到正在使用的ClientProxy的对象
我正在WCF中创建自定义通道,以实现自定义安全协议.不,不要逃跑!这不是那么可怕!

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

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

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

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

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

解决方法

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读