首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在ember-simple-auth中获取当前认证用户的详细信息?

在ember-simple-auth中获取当前认证用户的详细信息可以通过以下步骤实现:

  1. 首先,确保你已经在你的应用程序中集成了ember-simple-auth插件,并且已经完成了用户认证的配置和设置。
  2. 在你的应用程序中,你可以使用session服务来获取当前认证用户的信息。session服务是ember-simple-auth插件提供的一个服务,用于管理用户会话。
  3. 通过调用session服务的data属性,你可以获取当前认证用户的详细信息。data属性返回一个包含用户信息的对象。
  4. 例如,如果你的用户信息包含在currentUser属性中,你可以通过以下方式获取当前认证用户的详细信息:
代码语言:javascript
复制
import { inject as service } from '@ember/service';
import Component from '@ember/component';

export default Component.extend({
  session: service(),

  currentUser: Ember.computed('session.data', function() {
    return this.get('session.data.currentUser');
  }),

  actions: {
    getUserDetails() {
      let currentUser = this.get('currentUser');
      // 在这里可以访问和使用当前认证用户的详细信息
    }
  }
});

在上面的例子中,我们通过在组件中注入session服务,并使用计算属性currentUser来获取当前认证用户的信息。然后,你可以在需要的地方使用currentUser属性来访问和使用当前认证用户的详细信息。

需要注意的是,具体的用户信息的获取方式可能因你的应用程序的实现方式而有所不同。你需要根据你的应用程序的具体情况来调整代码。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云数据库(TencentDB)。

  • 腾讯云云服务器(CVM):腾讯云提供的弹性计算服务,可快速创建和管理云服务器实例,满足不同规模和需求的应用程序部署和运行。

产品介绍链接地址:腾讯云云服务器(CVM)

  • 腾讯云数据库(TencentDB):腾讯云提供的高性能、可扩展的云数据库服务,支持多种数据库引擎,包括关系型数据库和NoSQL数据库,满足不同应用场景的数据存储和管理需求。

产品介绍链接地址:腾讯云数据库(TencentDB)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Hadoop Authentication

    我被被派去做别的事情了,所以与Hadoop相关的工作就只能搁下。写篇总结,把最近遇到的和kerberos相关的东西列一下。 JAAS是Java 认证和授权服务(Java Authentication and Authorization Service)的缩写,是PAM框架的Java实现。 javax.sercurity.auth.Subject是一个不可继承的实体类,它表示单个实体的一组相关信息,与请求的来源相关。 javax.security.auth.Principal是一个接口,表示带有不同类型凭证的标识,基本上来说,Principal可以是任意对象。 JAAS的授权机制主要就是围绕着Subject和Principal。关于JAAS比较详细的参考是这里:http://docs.oracle.com/javase/6/docs/technotes/guides/security/jaas/JAASRefGuide.html 几个比较重要的java属性: java.security.krb5.realm java.security.krb5.kdc java.security.krb5.conf hadoop的身份认证和授权都是建立在JAAS之上。 hadoop.security.authentication属性有2种值: simple: Security is disabled。 kerberos: Security is enabled。 org.apache.hadoop.security.UserGroupInformation有一个静态方法:getCurrentUser()。它会返回一个UserGroupInformation类的实例(以下简称UGI)。如果subject为空,或者这个subject中与org.apache.hadoop.security.User对应的Principal为空,那么说明尚未登录过,调用getLoginUser()创建UserGroupInformation的实例。 getLoginUser()的流程: 1.创建LoginContext: name:如果hadoop.security.authentication等于”kerberos”,那么是“hadoop-user-kerberos”或者“hadoop-keytab-kerberos”,否则是“hadoop-simple”。它的主要作用是作为appName传递给UserGroupInformation.HadoopConfiguration.getAppConfigurationEntry(String appName)方法。 subject: callbackHandler: 空 Configuration: UserGroupInformation.HadoopConfiguration的实例。 2.login.login(); 这个会调用HadoopLoginModule的login()和commit()方法。 HadoopLoginModule的login()方法是一个空函数,只打印了一行调试日志 LOG.debug("hadoop login"); commit()方法负责把Principal添加到Subject中。 此时一个首要问题是username是什么? 在使用了kerberos的情况下,从javax.security.auth.kerberos.KerberosPrincipal的实例获取username。 在未使用kerberos的情况下,优先读取HADOOP_USER_NAME这个系统环境变量,如果不为空,那么拿它作username。否则,读取HADOOP_USER_NAME这个java环境变量。否则,从com.sun.security.auth.NTUserPrincipal或者com.sun.security.auth.UnixPrincipal的实例获取username。 如果以上尝试都失败,那么抛出异常LoginException("Can’t find user name")。 最终拿username构造org.apache.hadoop.security.User的实例添加到Subject中。 测试登录: HADOOP_JAAS_DEBUG=true HADOOP_ROOT_LOGGER=DEBUG,console  bin/hadoop  org.apache.hadoop.security.UserGroupInformation 其中,UGI应该是这样的形式: UGI: host/xx.xx.xx.com@xx.xx.com (auth:KERBEROS)

    01
    领券