为IIS Web服务验证iOS应用程序

时间:2012-12-27 01:08:57

标签: .net ios web-services encryption

我的团队将构建iOS和Android版本的应用程序,该应用程序将由该领域的数百名员工使用。我们将在内部开发.NET Web服务,以便为这些应用程序提供数据。由于这将是我们第一次涉足移动开发,我想确保我们正确地做到这一点。 :)

考虑到这一点,实现以下目标的最佳方式是什么:

  • 保护.NET Web服务,使除我们的应用程序之外的其他任何应用程序都不能使用它。
  • 确保从Web服务到客户端应用程序的数据传输是安全的。
  • 验证我们的用户 - Windows或Forms身份验证吗?

此外,如果有任何好的教程,您可以推荐开发针对移动应用程序的Web服务的最佳实践,请告诉我们。非常感谢!

1 个答案:

答案 0 :(得分:0)

- 使用https代替http并使用正确的证书。

- 使用IIS重写模块只允许您的应用代理名称,或阻止其他人在网络配置中。

  <rules>
    <rule name="Ban user-agent RogueBot" stopProcessing="true">
      <match url=".*" />
      <conditions>
        <add input="{HTTP_USER_AGENT}" pattern="googlebot|msnbot|slurp|yandex|yahoo|chrome|safari|google|explorer|mozilla|gecko|opera"/>
      </conditions>
      <action type="AbortRequest" />
    </rule>
  </rules>

- 让您的移动客户端在首次启动应用程序时生成唯一的随机UUID,使用此UUID识别客户端,当然您应该在每次请求时发送此ID,并且您应该在邮件正文中发送它而不是在查询字符串中。 SSL!在您在Web服务中执行某些操作之前,您始终可以检查已接收的ID是否已注册。

- 添加到唯一ID NTLM身份验证可以工作,但你也应该考虑实现OAuth,我建议1.0而不是2.0。文档可以在这里找到

for web API this是开始的好地方