2015-02-05 74 views
0

我正在开发一个应用程序来搜索事件。我正在使用backbone.js来构建这个应用程序。我有一些Web服务来获取有关事件的信息。例如,我有一个Web服务来获取数据库中的所有事件,另一个Web服务可以获取有关事件ID的信息等等......我想知道是否有可能保护我的Web服务,因为人们可以不能访问。保护休息的网络服务

在我的代码我有一个集合,具有相应的web服务的URL:如果我访问DevTools在Web浏览器中,用一些搜索我能找到Web服务URL

ev.models.ImagemCollection = Backbone.Collection.extend({ 

    url: 'http:/.../.../webservices/services/events/', 

    initialize: function(){ 
     console.log("Collection Home Inicializado"); 
    } 

}); 

,但我想要以某种方式隐藏这些信息。

有什么想法?

回答

0

RESTful路由配置在您的后端,如果您不想让用户访问它们,您需要在路由命中之前在您的后端路由上创建一个过滤器。

当您(例如)只想在用户验证时授予访问权限时,就是这种情况。您在路线上应用的过滤器是自定义的,您可以以任何您想要的方式对其进行定义;在这种情况下,过滤器检查“认证”状态。
每当用户没有进行身份验证时,您的过滤器就会从后端返回一条消息,并说出类似于例如。 “你需要先认证。”

+0

好的,但我的内部页面从数据库中获取事件,用户应该看到事件。如果只在用户进行身份验证时授予访问权限,则用户无法在原始页面中查看事件。 :/ – seal 2015-02-06 00:04:25

+0

好吧,我明白了。你真的不想保护网络服务,你只是想隐藏网址?你不能真正“保护”它,因为你指出你真的想在首页加载事件,这使得每个人都可以访问这些事件......当你发出一个RESTful请求时,浏览器的导航标签显示该请求所针对的URL,因此它永远不会是私人的。你唯一能做的就是监控流量。 – Trace 2015-02-06 01:40:45

+0

是的,基本上我想这个网址不希望它对其他用户可见。如果我在php中创建一个中间件,向PHP文件发送一个请求,然后从中获得响应。这可能有帮助吗? – seal 2015-02-06 01:49:20