2

我有一个处理公共和私有内容的主干应用程序。

公共 =>登录、注册、新闻等。

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

为了保护整个应用程序,我在 node.js 中有一个基于会话的身份验证机制。此机制保护后端 API。现在的问题是如何保护前端。

  1. 如何保护 Backbone 中的路由
  2. 我如何保护 Backbone 中的模块(requireJs)

我的一个想法是将前端分为公共和私有,服务器决定是否授予对私有资产的访问权限。

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

使其更具体: 如果用户已通过身份验证,我想检查客户端,并且我想将加载 require-js 模块限制为未经身份验证的人(以节省 bandtwitch)

4

1 回答 1

1

您的服务器应该提供一个 API 来检查当前用户(可能通过他们的 cookie)是否经过身份验证。

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

据我所知,没有任何骨干事物具有用户状态的概念。您可以实现一个 setTimeout 循环以从您的服务器请求身份验证状态,然后在此基础上实现 Backbone.Events 以在用户未经过身份验证时发出一个事件,您的主干应用程序可以侦听该事件,然后触发渲染登录视图,或将用户路由到登录页面。

我的后端主要使用 couchdb,它有一个 $.couch.session 函数,可以让我知道当前用户的身份验证状态。您很可能需要实现自己的会话功能,该功能与您的后端框架挂钩。

于 2012-07-21T17:52:02.723 回答