与X509和多个客户端,以及如何区分客户端设置Web服务?(Setting up web servi

2019-09-16 13:02发布

按照这些2个 链接 ,我能够实现与X509认证一个简单的Web服务,并通过身份验证的测试客户端使用服务。

现在,它看起来是这样的:

 --------------
| ServiceA.svc | ------------> Test Client 1
|  -GetData()  |
 --------------

如何延长我有什么要完成这样的事情:

 --------------
| ServiceA.svc | ------------> Test Client 1
|  -GetData()  | ------------> Test Client 2
|  -SaveData() |
 --------------
| ServiceB.svc |-------------> Test Client 1
|  -GetData()  |
 --------------
| ServiceC.svc |-------------> Test Client 2
|  -SaveData() |
 --------------

我已经有设置服务和测试客户端2蓄势待发。

因此,这里有我的一些问题:

  • 我是否需要创建一个测试客户端2不同的证书?
  • 该配置文件/终点/行为将如何模样? 我认为,服务B和C是易于安装,因为它是基本相同,我有什么权利,但现在这两个客户端,我有点失去了ServiceA将被消耗。
  • 如果ServiceA叫我怎么知道哪些客户是哪位呢? 我可能想限制他们可以调用的方法(即TC1只能使用的GetData(),TC2只能使用保存数据()),并能够记录谁在访问方法。

我可以发布的东西我有,如果需要的配置文件,但它看起来基本上是上述两个环节都有。

Answer 1:

是的,每个客户端都需要一个单独的证书。 然后从操作中,你可以得到它的尊贵身份:

ServiceSecurityContext.Current.PrimaryIdentity.Name

最好的做法是分离的授权过程是怎样的描述如下: http://msdn.microsoft.com/en-us/magazine/cc948343.aspx



文章来源: Setting up web services with x509 and multiple clients and how to distinguish clients?