gpt4 book ai didi

html - Ember.js 身份验证、推送状态和路由

转载 作者:可可西里 更新时间:2023-11-01 14:55:15 26 4
gpt4 key购买 nike

我想知道是否有人对结合路由和推送状态的 Ember.js 有任何想法。

典型的 Ember 身份验证示例是:

aStateManager = Em.StateManager.create({
initialState: 'unauthenticated',
authenticated: Em.State.create({}),
unauthenticated: Em.State.create({
authenticate: function(stateManager, context){
stateManager.goToState('authenticated')
}
})
})

aStateManager.send('authenticate')

如果用户总是被发送到根 url,那将起作用。但是,如果用户在地址栏中键入 url,例如“/api/resource/1”,有没有办法判断用户在每个状态下是否已通过身份验证?

我想我正在寻找的是像 before_filter 这样的 rails。

有没有人想出针对这种常见情况的解决方案?

最佳答案

我们将面对任何类型的身份验证的问题是,用户可以完全访问所有模型,可以更改其中的数据并授予自己以前没有的权限。每次都联系服务器会很痛苦。

我能想到的一个解决方案是使用对象的 freezable mixin 和 isDirty 标志。我们可以将用户的权限作为 DS 模型(如果我们使用的是 ember 数据),然后将其定义为卡住的。现在我们创建一个权限检查 mixin,检查模型是否脏(即它已被更改)。并且还尊重代码所有其他部分的卡住状态。

当然我没有想到其他各种用例,但这应该是一个有值(value)的起点。

关于html - Ember.js 身份验证、推送状态和路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10818589/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com