如何从操作实现中获取有关WCF服务客户端的信息?

发布于 2024-08-14 15:18:03 字数 46 浏览 10 评论 0原文

我特别需要获取用于调用服务方法的客户端证书。这是针对不同的客户做出不同的反应。

I especially need to get client's certificate used to call service's method. This is to react differently for different clients.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

音栖息无 2024-08-21 15:18:03

在您的操作代码中,您可以检查以下内容:

OperationContext.Current

或者

ServiceSecurityContext.Current

但我不确定您是否可以从中访问实际的客户端证书。

ServiceSecurityContext.Current.PrimaryIdentity 将包含当前调用者的 IIdentity - 如果它为 NULL,则您正在处理匿名调用。否则,PrimaryIdentity 将是几种可能的身份类型之一,具体取决于调用用户的身份验证方式 - 它可以是 Windows 身份,也可以是其他身份 - 取决于您的场景。

请参阅此博文有关 X.509 和 WCF 的更多信息。

In your operation code, you can examine things like:

OperationContext.Current

or

ServiceSecurityContext.Current

but I'm not sure if you can access the actual client certificate from those.

The ServiceSecurityContext.Current.PrimaryIdentity will contain an IIdentity for the current caller - if it's NULL, then you're dealing with an anonymous call. Otherwise, the PrimaryIdentity will be one of several possible identity types, depending on how the calling user was authenticated - it could be a Windows identity, or something else - depending on your scenario.

See this blog post for a few more tidbits of information on X.509 and WCF.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文