1

我已经看到了一些关于使用路由器方法在 ember 中实现会话的示例,还有一些关于简单地使用StateManager的陈述。鉴于我有一个 Restful 后端,我必须每次都将我的凭据发送到我的服务。为此,我只想将凭据存储在前端的会话中。我应该将凭据存储在“登录”状态StateManager还是使用其他方法?

4

1 回答 1

2

你应该隔离你的需求,因为在我看来你试图在这里解决两个方面:

  • 身份验证,将凭据传递到您的后端,
  • 经过身份验证的状态和属性。

顺便说一句,即使您只是想管理第一点,以下内容仍然适用... :-)

Ember 非常擅长使用路由器和 al 管理应用程序的状态。但是在谈到身份验证时,它必须与后端打交道,并且几乎与您的 SPA 状态无关。这是一种横向问题,根本不由您的 Ember 路由器实例管理,IMO(我并不孤单:请参阅此推文和回复)。您应该在 Ember 应用程序之外管理身份验证,甚至提供 SPA 之前,使用类似Devise, Sorcery, ...

话虽如此,一旦您在浏览器和后端之间建立了会话,您将能够在页面内静态包含来自您登录用户的一些数据,您的应用程序可以访问这些数据以供使用(用户名、个人资料数据、 ...)。

如果您仍然在路由器中管理登录(输入/输出)状态,您也可以查看这个答案,但正如我之前解释的那样,我最终改变了对这个主题的看法。

于 2012-10-29T15:53:43.797 回答