会话后访问会话用户名如何在其他控制器中进行身份验证

时间:2015-11-21 18:58:41

标签: javascript ember.js ember-simple-auth

我正在使用Ember-simple-auth来验证我的路线,并且工作正常。我有:

login - login route
index - after login in ok

我正在使用ember-cli通知弹出这条消息:

"Welcome USER NAME"

像这样,在IndexController中:

export default Ember.Controller.extend({
  init () {
    this.notifications.addNotification({
      message: 'Welcome USER NAME',
      type: 'success',
      autoClear: true,
      clearDuration: 5000
    });
  }
});

我想问一下......如何访问当前登录用户的属性?我是一个完全不同的控制器,所以我不知道我该怎么做......

并且..我想问可能..我正在使用init函数..我做得对吗?

感谢。

1 个答案:

答案 0 :(得分:0)

使用session服务。如果您在回复中返回当前用户的详细信息,则会将其保留在session.data.authenticated

// app/controllers/index.js
import Ember from 'ember';

export default Ember.Controller.extend({
 session: Ember.inject.service(),
 init () {
   this.notifications.addNotification({
     message: `Welcome ${this.get('session.data.authenticated.name')}`,
     type: 'success',
     autoClear: true,
     clearDuration: 5000
   });
 }
});

参考Docs& Dummy app

希望它有所帮助...