用于iOS消费的安全ASP.NET Web API

用于iOS消费的安全ASP.NET Web API,ios,rest,asp.net-web-api,Ios,Rest,Asp.net Web Api,因此,我正在尝试保护ASP.NET Web API服务,以便iOS(iPhone 4/5)应用程序可以使用其Windows用户名和密码(不问:)以RESTful方式访问它,我遵循了这一点,并且在大多数情况下,我只是对其进行了一些修改,以使用Active Directory服务验证用户名和密码,但我想知道是否有更好的方法来保护ASP.NET Web API,该API将从非浏览器客户端以及可能的浏览器中使用 这是由IIS7托管的,所以我应该让IIS控制身份验证吗 需要一点指导。。。谢谢根据我的经验,

因此,我正在尝试保护ASP.NET Web API服务,以便iOS(iPhone 4/5)应用程序可以使用其Windows用户名和密码(不问:)以RESTful方式访问它,我遵循了这一点,并且在大多数情况下,我只是对其进行了一些修改,以使用Active Directory服务验证用户名和密码,但我想知道是否有更好的方法来保护ASP.NET Web API,该API将从非浏览器客户端以及可能的浏览器中使用

这是由IIS7托管的,所以我应该让IIS控制身份验证吗


需要一点指导。。。谢谢

根据我的经验,假设我正在对服务器进行身份验证,密钥是

  • 将对API的访问置于https之后
  • 通过邮寄发送请求

如果您也在编写iOS端的代码,请确保正确实现身份验证。这里有一篇关于iOS方面的文章:

在这里使用HTTPS是多么重要,我怎么强调都不过分。BasicAuth在Base64中对用户的凭据进行编码,并将其附加到每个请求。这意味着任何观看网络的人都可以轻松恢复他们的广告凭据。@RobNapier-我肯定会使用SSL/TLS。您认为使用SSL足够安全吗?我的意思是,我们通过SSL信任我们的信用卡和个人信息,那么为什么我的AD帐户不正确呢?最好使用令牌(例如通过Kerberos)或质询响应系统进行身份验证(例如NTLMv2),这样您就不必麻烦发送原始凭证,而是使用正确配置的HTTPS,包括证书验证,还不错。原始凭证仍然有点危险的一个原因是web服务器的管理员可以访问后SSL通信。使用质询响应系统,不会向他公开密码。所以我不喜欢BasicAuth,但是可以用HTTPS使它“ok”。@RobNapier-您有任何建议或链接到多个客户端(iOS、Java、.NET、Web浏览器)使用的RESTFul Web服务的安全示例吗?