Eoi*_*ell 9 .net rest wcf json ios
我们正在构建一个新的Web应用程序堆栈.后端功能将基于服务,但由于其中一些服务需要暴露给公共互联网,我需要保护它们.我使用标准成员资格/角色提供程序模型锁定服务URL部分成功.我在那一刻遇到麻烦的部分是,如果我们要在我们的服务堆栈上构建一个iOS(或Android)应用程序,我们将如何处理安全性?
我完全乐于接受建议.到目前为止,我已在下面的设置中包含了一些信息.
ASP.NET网站使用在HTTPS连接上运行的SQL成员资格/角色提供程序/表单身份验证.只有Default/Login/FAQ页面可以公开访问.所有其他页面都位于名为"/ Secure"的文件夹中,需要您进行身份验证.
WCF WebService.所有支持的功能都通过此服务提供.端点仅在本地Intranet上可用.ASP.NET网站代码背后使用标准服务参考与服务进行对话.
WCF REST/JSON服务.上述某些功能在WCF REST/JSON服务中重新包装.这是使用" WCF REST模板40 "设置的.然后使用System.Web.Routing将服务路由到"/ Secure/jsonsvc/*".因为它位于/ Secure文件夹下,所以它继承了任何请求的membership/roleprovider安全性.例如,xmlhttp从客户端JQuery小部件调用此服务,仅适用于已登录我们网站的用户.
将来,外部应用程序(例如IPad应用程序)可能需要使用这些相同的WCF Rest/JSON服务.鉴于缺少HTTP站点/会话/登录上下文,最好的方法是什么?
Dav*_*ner 11
如您所知,ASP.NET表单身份验证使用cookie来维护经过身份验证的会话.暂且不论是否这是在REST方法下处理事物的最佳方式,我认为没有技术原因可以解释为什么你不能在你的iOS应用程序中使用相同的cookie.
您显然需要一个简单的登录网页(通过UIWebView在您的应用程序中显示)或登录REST方法,首先将cookie返回给您,然后在后续请求中,您只需返回带有请求的cookie(这里有一些关于使用ASIHTTP库在iOS中处理cookie的信息.
需要记住的一些重要事项是,您无法控制设备所在的无线网络,因此您绝对应该使用SSL,并且还应考虑登录REST的故障/重试/等等方法就像登录页面一样(如果不是这样的话).
希望有所帮助!
归档时间: |
|
查看次数: |
4798 次 |
最近记录: |