如何使用Ember Simple Auth获取自定义会话的属性

彼得·金

问题:我不知道如何在控制器中获取当前会话。

我有一个定义的自定义身份验证器,自定义会话和初始化程序,如下所示:

../app/authenticators/custom.js中的自定义授权者

var CustomAuthenticator = Base.extend({
  authenticate: function(credentials) {
    return new Ember.RSVP.Promise(function (resolve, reject){
      var loginPromise = Ember.$.post('/api/login', {'email':credentials.identification, 'password':credentials.password} );
      loginPromise.then(function (data){
        resolve({
            token: data.user.api_key,
            userData: data.user
        });
      }, function(error){
        reject(error);
      });
    });
  }
});

../app/sessions/custom.js中的自定义会话

import Ember from 'ember';
import Session from 'simple-auth/session';

var CustomSession = Session.extend({
  after:'simple-auth',
  currentUser: function(){
    return this.container.lookup('ember_simple_auth:session');
  }.property('currentUser')
});

export default CustomSession;

../app/initializers/authentication.js中的INITIALIZER

import CustomAuthenticator from '../authenticators/custom';
import CustomSession from '../sessions/custom';

export default {
  name:       'authentication',
  before:     'simple-auth',
  initialize: function(container) {
    container.register('authenticator:custom', CustomAuthenticator);
    container.register('session:custom', CustomSession);
  }
};

我正在尝试通过使用来获取tokenuserData在我的一个控制器中使用this.get('session')但是它给了我以下内容:

Class {store: Class, __ember1420041799205: "ember297", __nextSuper: undefined, __ember_meta__: Object, constructor: function…}

ember_simple_auth:session在本地浏览器存储中看到了键和值{"authenticator":"authenticator:custom","token":"123456789","userData":{"id":"1","email":"[email protected]","api_key":"123456789","expiry_time":"2014-12-31 14:02:56"}}

我基本上需要获取本地存储中的内容。我该怎么做呢?

彼得·金

啊,我知道了问题所在。首次进行身份验证时,会话变量在那里,但是刷新页面时会删除会话的内容,因为我的身份验证器中没有还原功能。

  restore: function(data) {
    return new Ember.RSVP.Promise(function (resolve, reject){
      console.log('RESTORE');
      if(!Ember.isEmpty(data.token)) {
        console.log('Found token: ' + data.token);
        resolve(data);
      } else {
        console.log('Token Not Found!');
        reject();
      }
    });
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ember-simple-auth:使用自定义身份验证器将会话持久保存在本地存储中

来自分类Dev

如何获取自定义CSS属性列表

来自分类Dev

如何获取自定义属性的通用集合

来自分类Dev

如何从Winrt的装配中获取自定义属性

来自分类Dev

使用jQuery获取自定义属性

来自分类Dev

使用Javascript从按钮获取自定义属性

来自分类Dev

使用jQuery获取自定义属性

来自分类Dev

使用LINQ to XML获取自定义属性值

来自分类Dev

如何访问ember-simple-auth中的会话属性?

来自分类Dev

如何使ember-simple-auth会话过期?

来自分类Dev

使用Ember Simple Auth使用自定义身份验证器注销用户

来自分类Dev

如何获取自定义UIPickerView?

来自分类Dev

如何在ember-cli中使用ember-simple-auth?

来自分类Dev

如何使Ember Cli Mirage与Ember Simple auth一起使用

来自分类Dev

如何使用JQuery获取自定义HTML属性的值?

来自分类Dev

如何使用 JAVASCRIPT 在 <option> 标签内获取自定义属性的值

来自分类Dev

如何使用ember-simple-auth在会话中存储用户ID?

来自分类Dev

如何使用Servicestack提取自定义JWT属性

来自分类Dev

BGL:如何从顶点迭代器获取自定义顶点属性类实例?

来自分类Dev

使用<select>在select2中获取自定义数据属性

来自分类Dev

PHP使用DOM解析器获取自定义属性值

来自分类Dev

在select2中使用Ajax时无法获取自定义属性值

来自分类Dev

使用<select>在select2中获取自定义数据属性

来自分类Dev

使用laravel进行Ember-simple-auth

来自分类Dev

如何抓取自定义html5属性

来自分类Dev

jQuery如何读取自定义属性值

来自分类Dev

如何在任务窗格应用程序中使用OfficeJ获取/读取自定义文档属性?

来自分类Dev

如何在spring数据中使用JPQL或Criteria Api通过枚举属性获取自定义数据组?

来自分类Dev

如何从Android Firebase通知获取自定义数据?

Related 相关文章

  1. 1

    ember-simple-auth:使用自定义身份验证器将会话持久保存在本地存储中

  2. 2

    如何获取自定义CSS属性列表

  3. 3

    如何获取自定义属性的通用集合

  4. 4

    如何从Winrt的装配中获取自定义属性

  5. 5

    使用jQuery获取自定义属性

  6. 6

    使用Javascript从按钮获取自定义属性

  7. 7

    使用jQuery获取自定义属性

  8. 8

    使用LINQ to XML获取自定义属性值

  9. 9

    如何访问ember-simple-auth中的会话属性?

  10. 10

    如何使ember-simple-auth会话过期?

  11. 11

    使用Ember Simple Auth使用自定义身份验证器注销用户

  12. 12

    如何获取自定义UIPickerView?

  13. 13

    如何在ember-cli中使用ember-simple-auth?

  14. 14

    如何使Ember Cli Mirage与Ember Simple auth一起使用

  15. 15

    如何使用JQuery获取自定义HTML属性的值?

  16. 16

    如何使用 JAVASCRIPT 在 <option> 标签内获取自定义属性的值

  17. 17

    如何使用ember-simple-auth在会话中存储用户ID?

  18. 18

    如何使用Servicestack提取自定义JWT属性

  19. 19

    BGL:如何从顶点迭代器获取自定义顶点属性类实例?

  20. 20

    使用<select>在select2中获取自定义数据属性

  21. 21

    PHP使用DOM解析器获取自定义属性值

  22. 22

    在select2中使用Ajax时无法获取自定义属性值

  23. 23

    使用<select>在select2中获取自定义数据属性

  24. 24

    使用laravel进行Ember-simple-auth

  25. 25

    如何抓取自定义html5属性

  26. 26

    jQuery如何读取自定义属性值

  27. 27

    如何在任务窗格应用程序中使用OfficeJ获取/读取自定义文档属性?

  28. 28

    如何在spring数据中使用JPQL或Criteria Api通过枚举属性获取自定义数据组?

  29. 29

    如何从Android Firebase通知获取自定义数据?

热门标签

归档