在SO answer之后,我正在尝试使用container.lookup('simple-auth-session:main');
获取Ember Simple Auth会话,但这会让我未定义。
我正在使用Ember Cli和Ember Simple Auth Devise身份验证器。
答案 0 :(得分:2)
FIRST:添加注册自定义会话的初始值设定项
Ember.Application.initializer(
name: 'authentication'
before: 'simple-auth'
initialize: (container, application) ->
container.register('session:custom', App.CustomSession)
)
第二:用自定义会话替换会话
window.ENV['simple-auth'] = {
session: 'session:custom'
}
THIRD:定义自定义会话
App.CustomSession = SimpleAuth.Session.extends(
currentUser: (->
unless Ember.isEmpty(@user_id)
@container.lookup('session:main').load('user', @user_id)
//Note! I'm using Ember Persistence Foundation, therefore 'session:main',
//but if you're using Ember Data, use 'store:main'
).property('user_id')
)