验证调用者与Web服务通信

我继承了一个系统,该系统以数据集的形式从Web方法获取数据.数据可能是敏感的.令我震惊的一件事是,有些方法无法知道或检查调用方是谁,而另一些方法则需要整数来标识调用方.该整数从0开始,并且是连续的,并且与其他公司/数据集相关联.显然不够好. (通过猜测数字,我很容易看到我不应该访问的数据

我的问题是,是否有验证呼叫者身份,改进此系统的最佳实践方法?

最佳答案
这是什么类型的服务?这些天来,我将其编写为WCF,并使用任何常规身份模型进行身份验证(我通常使用TransportWithMessageCredential-即主体中带有用户名/密码的SSL).然后,您可以仅通过主体(Thread.CurrentPrincipal.Identity.Name)检查身份.

对于SOAP服务,您可以使用SOAP标头进行身份验证,也可以将身份信息作为方法参数包括-用户名/密码对,或者可以解析以获得身份的单独身份令牌.无论如何,您仅应通过SSL之类的安全传输“按原样”传递身份信息.还有其他一些不需要传递密码的技术,但是它们比较复杂(特别是在涉及多个域等的情况下);可以选择使用kerberos或联邦安全性.就我个人而言,我保持简单,因为并非所有客户端都可以使用联盟等,但是大多数客户端可以通过SSL传递用户名/密码对.

点击查看更多相关文章

转载注明原文:验证调用者与Web服务通信 - 乐贴网