我有一个 Backbone 应用程序来处理公共(public)和私有(private)的东西。
公开=>登录、注册、新闻等
私有(private) => 聊天、其他用户特定信息。
为了保护整个应用程序,我在 node.js 中使用了基于 session 的身份验证机制。此机制保护后端 api。现在的问题是如何保护前端。
- 如何在 Backbone 中保护路由
- 如何在 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/