backbone.js + require.js +用户认证

cod*_*613 7 requirejs backbone.js

开始学习backbone.js和require.js.

不确定如何使用用户身份验证为Web应用程序构建文件.

似乎它应该像这样流动:

  1. 在app init上,查询服务器以检查auth会话状态;
    • 问题1:我应该在/ init/session.js中在'init'会话代码之后写这个?
    • 问题2:我应该使用jQuery ajax,还是有更好的backbone.js方法(我在例子中看到了对get(),fetch(),toJSON()的引用)?
  2. 如果成功,则将auth数据存储在模型中(user_id,username,auth_token).
    • 问题3:我如何/在哪里创建这个模型,以便我可以在整个模块中访问这些数据?即.我将有一个视图显示'isLoggedIn.html'的模板,该模板将显示为"Hello%username%!Logout".我想从此模型访问"用户名"字段.目前,我只看到如何通过在视图的define []中引用它来创建新模型,所以我不知道如何访问在init期间创建的模型.
  3. 将使用jQuery $ .cookies来保存并获取此auth数据,因此如果用户离开页面并返回,我可以查询服务器以检查会话而不是要求用户再次登录.
    • 问题4:如何在这个requirejs应用程序中包含jquery.cookies.js插件,以便我以后可以像往常一样使用$ .cookies?我应该将此插件添加到define []列表中吗?我是否必须将其添加到/js/jquery/loader.js文件中?

谢谢您的帮助.

编辑:我使用模块化骨干示例中的文件来创建我的Web应用程序.所以当我谈论/js/app.js和js/router.js时,那就是我所引用的文件.

Roy*_*ari 2

我也面临同样的情况。我发现这篇文章,似乎在每个请求之前做某事的最佳选择是使用这个解决方案

在访问除 /login 之外的 URL 之前,我将通过 cookie 进行身份验证或运行登录视图。

关于包含其他文件夹(jQuery cookie)的方式 - 只需使用 require.js 机制:

  1. 在主文件“require.config”->“paths”中添加插件位置(jqueryCokkie:)
  2. 在“定义”下的视图中添加路径名(“jqueryCookie”)并将其传递给函数
  3. .js 文件应采用以下结构(我尝试在此处粘贴代码示例,但遇到了问题......)。