用于登录和注销功能的Backbone.js架构



我有点不确定如何在Backbone.js.中设置登录/注销控件的功能

这就是我的想法,但我不确定这是否可以,或者这个架构是否存在问题:

  • Model是当前用户。如果模型在执行fetch()时得到HTTP 404响应,那么"当前用户"应该是匿名用户。如果不是,则Model保存当前用户的信息
  • View:
    • 如果当前用户是"匿名"用户,则会显示用户名和密码的输入框;和一个"登录"按钮
    • 如果当前用户是有效用户,则视图将显示当前用户的用户名和"注销"按钮

当按下"登录"one_answers"注销"按钮时,我不知道该如何处理该模型。登录和注销应该通过模型的fetch()功能来完成,还是这些操作应该触发不同的POST请求,其成功结果要么填充Model,要么要求Model再执行一个fetch()

感谢您的任何意见,非常感谢!

这可能有点出乎意料,但我就是这样做到的:

我不知道你为什么需要这个模型本身,我也不知道你是如何使用它的。因此,我无法将"模型"作为我的答案。

我是这样做的:

在视图中:只有用于登录/注销的文本框。

点击"登录",用用户名/密码向服务器发送POST请求(希望不是明文:)

如果服务器的响应是200,则将window.location更改为您希望看到的目标页面,否则显示"无效用户名/密码"(当然,应用程序中的"下一个"页面或任何其他页面都应该检查用户是否已登录。如果未登录,则显示登录页面)。

这是IMHO最简单的解决方案。我不知道你为什么需要为用户提供模型?那是"之后"登录吗?然后,您可以生成并保存它,或者将其作为上面200响应的一部分发送。但该模型不会在整个页面更改过程中保持不变。可以说,最好在"下一页"上重新创建模型。

(我假设是页面更改,而不是像$.load中那样进行页面加载——如果是后者,那么您总是可以重用该模型)。

希望这是有道理的。如果没有,你能澄清一下模型的意图吗?也许我可以相应地更新我的答案。

我的处境和你一样。你应该关注这篇关于你正在寻找什么的博客文章。它提供了有关如何处理错误和一些安全问题的更多信息。

http://42floors.com/blog/posts/user-authentication-with-rails-and-backbone-js

相关内容

  • 没有找到相关文章

最新更新