2012-07-21 57 views
2

我有一个Backbone应用程序,用于处理公共和私人内容。如何保护Backbone.js

公共=>登录,注册,新闻等

私人=>聊天,其他用户特定的信息。

为了保护整个应用程序,我在node.js中有一个基于会话的认证机制。这个机制保证了后端api的安全。现在的问题是我如何确保前端安全。

  1. 如何确保主干航线
  2. 我怎么能保证在骨干模块(requireJs)

我有一个想法是把前端分成公共和私营和服务器决定是否允许访问私有资产。

还有哪些其他的前端安全概念?

为了使它更具体: 我要检查客户端,如果用户被授权,但我想限制装载要求,JS模块未经验证的人(保存bandtwitch)

+0

我也想知道是否有一个javascript,jquery,骨干函数,它检查会话状态,或者如果我必须实现一个自己的顶层事件处理程序,让所有东西都保持在手中 – bodokaiser 2012-07-21 15:08:16

回答

1

您的服务器提供一个API来检查当前用户(可能通过他们的cookie)是否通过了认证。

在主干网中,在您的路由/导航中,您可以检查用户是否已通过身份验证,然后执行代码(可能在身份验证检查后调用requireJS模块)。

据我所知,没有骨干的东西具有用户状态的概念。你可以实现一个setTimeout循环来从你的服务器请求auth状态,然后在其之上实现Backbone.Events,当用户没有验证时发出一个事件,你的骨干应用可以监听这些事件,然后触发渲染登录视图,或将用户路由到登录页面。

我主要是为我的后端用户couchdb,它有一个$ .couch.session函数可以让我知道当前用户的身份验证状态。你很可能需要实现你自己的会话函数,并将其挂接到后端框架中。

+0

总结:安全的API或/和Auth2O),requireJs模块,它保持websocket /长轮询连接到服务器vor认证/授权检查和静态资产服务器,这也需要认证(好吧,如果所有模块已经加载,这将不会工作.. 。) – bodokaiser 2012-07-22 07:17:15