javascript - 如何保护 Backbone.js

标签 javascript security backbone.js frontend

我有一个 Backbone 应用程序来处理公共(public)和私有(private)的东西。

公开=>登录、注册、新闻等

私有(private) => 聊天、其他用户特定信息。

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

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

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

还有哪些前端安全概念?

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

最佳答案

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

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

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

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

关于javascript - 如何保护 Backbone.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11593227/

相关文章:

javascript - Backbone - 监听多个事件并确定触发哪个事件

javascript - 使用 Backbone.js 的多个页面

javascript - 如何使用 JQuery UI 阻止 UI?

apache-flex - 安全错误 : Error #2000: No active security context

testing - Backbone : how to test preventDefault to be called without testing directly the callback

javascript - 将变量从 Backbone.js 路由器初始化函数传递到另一个路由器函数的 forEach 语句

javascript - 如何清除单选按钮?

javascript - JavaScript 是否填充空数组项?

security - 授权系统设计题

java - 使用外部随机数源创建 RSA key (Java)