我已经看到了一些关于使用路由器方法在 ember 中实现会话的示例,还有一些关于简单地使用StateManager的陈述。鉴于我有一个 Restful 后端,我必须每次都将我的凭据发送到我的服务。为此,我只想将凭据存储在前端的会话中。我应该将凭据存储在“登录”状态StateManager
还是使用其他方法?
问问题
5035 次
1 回答
2
你应该隔离你的需求,因为在我看来你试图在这里解决两个方面:
- 身份验证,将凭据传递到您的后端,
- 经过身份验证的状态和属性。
顺便说一句,即使您只是想管理第一点,以下内容仍然适用... :-)
Ember 非常擅长使用路由器和 al 管理应用程序的状态。但是在谈到身份验证时,它必须与后端打交道,并且几乎与您的 SPA 状态无关。这是一种横向问题,根本不由您的 Ember 路由器实例管理,IMO(我并不孤单:请参阅此推文和回复)。您应该在 Ember 应用程序之外管理身份验证,甚至在提供 SPA 之前,使用类似Devise
, Sorcery
, ...
话虽如此,一旦您在浏览器和后端之间建立了会话,您将能够在页面内静态包含来自您登录用户的一些数据,您的应用程序可以访问这些数据以供使用(用户名、个人资料数据、 ...)。
如果您仍然想在路由器中管理登录(输入/输出)状态,您也可以查看这个答案,但正如我之前解释的那样,我最终改变了对这个主题的看法。
于 2012-10-29T15:53:43.797 回答