1

按照这个SO 答案,我正在尝试使用 Ember Simple Auth 会话,container.lookup('simple-auth-session:main');但这给了我undefined

我正在使用 Ember Cli 和 Ember Simple Auth Devise 身份验证器。

4

1 回答 1

2

@marcoow 上面的评论就像一个魅力。他指给我看这个例子

第一:添加一个注册自定义会话的初始化程序

Ember.Application.initializer(
  name: 'authentication'
  before: 'simple-auth'
  initialize: (container, application) ->
    container.register('session:custom', App.CustomSession)
)

第二:用您的自定义会话替换会话

window.ENV['simple-auth'] = {
  session: 'session:custom'
}

第三:定义自定义会话

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')
)
于 2014-08-18T06:48:59.360 回答