0

这是我之前相关问题的链接。

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


到现在为止还挺好。通过检查ServiceSecurityContext.Current.PrimaryIdentity.Name我的GetData()SaveData()方法,我能够区分和允许/拒绝客户。
虽然这可以完成这项工作,但我认为如果根本不调用该方法并让客户端在该方法之外进行检查,它会更有效。

对最有效的方法有什么建议吗?
我在想类似于‘嘿!此 GetData() 方法仅适用于客户端 1。您是客户端 2!你为什么要访问这个?!出去!!!'

4

1 回答 1

1

你现在的做法是正确的。

如果您移动然后检查用户可以向客户端调用哪些服务,则您会使服务保持开放状态,以免受到非您构建的客户端的攻击。

如果您将具有相同访问限制的方法分组到它们自己的服务中,您可以使用 wcf 配置在服务级别设置访问权限。

于 2012-04-19T22:03:55.677 回答