我正在尝试开发一个供移动客户端使用的Web服务(暂时是iOS客户端),我读到RESTful服务比SOAP服务轻得多,所以我想尝试一下这个
大多数方法都需要身份验证,但我不知道如何处理这个问题,因为我读取REST应该是无状态的,那么如何验证从iOS访问服务的用户然后使用该身份验证来验证连续调用其他网络方法?
注意:我将在IIS上使用WCF 4's WebHttp。
谢谢!
答案 0 :(得分:6)
有许多相当成熟的模式可以做到这一点。
答案 1 :(得分:0)
我建议使用类似于OAuth的策略。您可以专门编写一个服务来验证凭据并分发访问令牌,并且对API的任何请求都需要有效的访问令牌。
如果您在IIS中托管,我在使用HttpModule检查有效令牌的所有传入请求之前已完成此操作。如果没有,则模块仅使用401 Unauthorized Http状态代码结束请求。
编辑:
如果您希望在每个操作的基础上进行更细粒度的授权,我建议您使用自定义授权策略。查看http://msdn.microsoft.com/en-us/library/ms731181.aspx了解详情。