Jhipster-当前在Angular前端中登录的用户

问题描述 投票:-1回答:1

如何在Jhipster生成的应用程序的前端获取当前登录的用户(更确切地说,我需要他的ID?前端是Angular。

我已经看到了使用Principal类的一些较旧的答案,但似乎不再存在。

任何人都可以帮忙吗?

angular authentication jhipster
1个回答
0
投票

您可以通过调用accountService.getAuthenticationState()获得当前的身份验证状态,如果用户未登录,则将返回null,否则将返回Account对象。

[拥有帐户后,您可以从中获取用户登录名并调用userService.find(login),这将返回类型为IUser的对象。此时,您已经拥有了当前用户所需的所有信息。

示例(未测试):

export class MyComponent implements OnInit {
  user!: IUser;

  constructor(
    private accountService: AccountService,
    private userService: UserService
  ){}

  ngOnInit(): void {
    this.accountService.getAuthenticationState().subscribe(
      account => {
        if (account){
          this.userService.find(account.login).subscribe(
            user => (this.user = user)
          );
        }
      }
    );
  }
...
© www.soinside.com 2019 - 2024. All rights reserved.