如何在Backbone应用程序中实现登录

时间:2012-01-15 13:16:51

标签: login backbone.js

我有一个Backbone应用程序,我们知道开始实现登录。直到现在我没有登录,应用程序开始时创建所有相关的模型和集合。现在API需要会话cookie来响应。

什么是更好的解决方案:

  1. 拥有登录成功后转发到app.html的login.html
  2. 让登录成为具有自己路线的Backbone应用程序的一部分
  3. 在这两个解决方案中,如何通过按后退按钮来阻止用户再次看到登录对话框?

1 个答案:

答案 0 :(得分:1)

我使用标准的登录处理方式,一个与应用程序分开的简单登录页面。

/admin/在这条路线中,我有一个简单的中间件检查用户会话,如果用户未经过身份验证,则会重定向到/admin/login

一旦用户获得有效会话,他就可以自由地转到我的应用程序所在的/admin/。当您需要使用某些OpenID或OAuth提供程序对用户进行身份验证时,同样适用。

在浏览器中处理身份验证没有用处,因为在后端处理身份验证太简单了。事实上,在我的后端,我只有三条标准路线:

/* accessible routes */
/admin/login
/* protected routes: */
/admin/
/admin/(...)
/admin/logout

对于后退按钮问题,您只需要知道用户是否已经拥有有效的会话令牌,然后重定向/触发到正确的路由(注意重定向循环)