Authentication 使用rails的ember简单身份验证设计用户名而不是电子邮件?

Authentication 使用rails的ember简单身份验证设计用户名而不是电子邮件?,authentication,ember.js,devise,ruby-on-rails-5,ember-simple-auth,Authentication,Ember.js,Devise,Ruby On Rails 5,Ember Simple Auth,我有一个rails api,我正在为登录例程使用Desive。我通过ember simple auth将ember连接到该文件中。使用典型的Desive电子邮件和密码将其启动并运行。我通常将Desive though配置为使用LDAP身份验证,这非常有效。我遇到的问题是,我在LDAP登录时使用的是用户名,而不是电子邮件地址。我通常会改变设计来寻找一个用户名,而不是一个电子邮件地址,我已经这样做了 我现在得到了一个未经授权的401,看着params,看起来我仍然在发送电子邮件 您能将ember s

我有一个rails api,我正在为登录例程使用Desive。我通过ember simple auth将ember连接到该文件中。使用典型的Desive电子邮件和密码将其启动并运行。我通常将Desive though配置为使用LDAP身份验证,这非常有效。我遇到的问题是,我在LDAP登录时使用的是用户名,而不是电子邮件地址。我通常会改变设计来寻找一个用户名,而不是一个电子邮件地址,我已经这样做了

我现在得到了一个未经授权的401,看着params,看起来我仍然在发送电子邮件


您能将ember simple auth更改为发送用户名而不是电子邮件吗?如果是,你怎么做

您必须扩展设计授权人,并将
identificationAttributeName
设置为
用户名

// app/authorizers/devise.js
import DeviseAuthorizer from 'ember-simple-auth/authorizers/devise';

export default DeviseAuthorizer.extend({
  identificationAttributeName: 'username'
});

来源:

关于这个问题,还有一个问题。如何在登录时在页面上显示用户名。我一直在尝试currentUser.user、currentUser.username等,但无法使其正常工作。请尝试session.data.authenticated.user\u id。但最好按照此处所述为currentUser创建一个服务。谢谢,我想我看到了问题。我似乎没有在余烬方面得到认证。如果我在页面上检查session.isAuthenticated,则返回false。当我在session/main下查看ember inspector时,它显示isAuthenticated true。我得弄清楚发生了什么事。