我有一个 Backbone 应用程序,处理公共和私人的东西。
**公共=〉**登录、注册、新闻等
**私人=〉**聊天,其他用户特定信息。
为了保护整个应用程序,我在node.js中使用了一个基于会话的身份验证机制,这个机制保护了后端API,现在的问题是如何保护前端。
1.如何保护 Backbone 网中路由
1.我如何在 Backbone 网中保护模块(requireJ)
我的一个想法是将前端划分为公共和私有两部分,由服务器决定是否赠款访问私有资产。
还有哪些其他前端安全概念?
**更具体地说:**我想检查客户端的用户是否通过了身份验证,并且我想将require-js模块的加载限制为未经身份验证的用户(以保存bandtwitch)
1条答案
按热度按时间3pmvbmvn1#
您的服务器应该提供一个API来检查当前用户(可能通过他们的cookie)是否通过了身份验证。
在backbone中,您可以在您的路由/导航上检查您的用户是否经过身份验证,然后执行代码(可能在验证后调用requireJS模块)。
据我所知,没有一个 Backbone.js 程序包含用户状态的概念。你可以实现一个setTimeout循环,从你的服务器请求auth状态,然后实现Backbone.Events,在此之上,当用户没有被授权时,发出一个事件,你的 Backbone.js 应用程序可以监听这个事件,然后触发一个登录视图的呈现,或者将用户路由到一个登录页面。
我的后端主要使用couchdb,它有一个$.couch.session函数,可以让我知道当前用户的auth状态。您很可能需要实现自己的session函数,将其挂钩到后端框架中。