Ember.js 如何在与ember simple auth的会话中存储用户id?
我想在会话中存储用户id。我在自定义验证器中有此身份验证方法:Ember.js 如何在与ember simple auth的会话中存储用户id?,ember.js,ember-simple-auth,Ember.js,Ember Simple Auth,我想在会话中存储用户id。我在自定义验证器中有此身份验证方法: authenticate: (credentials) -> _this = this new (Ember.RSVP.Promise) (resolve, reject) -> Ember.$.ajax( url: 'http://localhost:3000/api/v1/sessions' type: 'POST' data: session: e
authenticate: (credentials) ->
_this = this
new (Ember.RSVP.Promise) (resolve, reject) ->
Ember.$.ajax(
url: 'http://localhost:3000/api/v1/sessions'
type: 'POST'
data: session:
email: credentials.identification
password: credentials.password
).then ((response) ->
_this.set('user_id', response.user_id)
Ember.run ->
resolve token: response.token
), (xhr, status, error) ->
response = JSON.parse(xhr.responseText)
Ember.run ->
reject response.error
这是一个咖啡脚本,但它的工作原理类似于javascript。如您所知,我在会话中设置了“user_id”
在app/initializers/custom session
中,我有以下内容:
import Ember from "ember";
import Session from "simple-auth/session";
export default {
name: "current-user",
before: "simple-auth",
initialize: function(container) {
Session.reopen({
setCurrentUser: function() {
return this.get('user_id')
}.observes('secure.access_token')
});
}
};
user\u id
始终返回undefined
。我在互联网上找到了很多解决方案,但都不管用
有一个简单的解决方案吗?您正在
验证器上设置用户id
(\u this.set('user\u id',response.user\u id)
)而不是会话。应将用户id
传递给验证器中的resolve方法。这样,您的用户id就可以被安全访问。在会话中的用户id
我添加了一个,然后回调到我的身份验证中,它就可以工作了。我唯一不喜欢的是我在验证器中发出的post请求给出的用户id。我在回调方法中没有访问它的权限。你知道不需要第二次请求就可以获得信息吗?@Dougui你所说的回调方法是什么意思?你能举个例子吗?