如何在 Jhipster 生成的应用程序的前端获取当前登录的用户(更准确地说,我需要他的 ID)?前端是 Angular。
我已经看到一些使用 Principal 类的旧答案,但似乎不再存在。
任何人都可以帮忙吗?
最佳答案
您可以通过调用 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)
);
}
}
);
}
...
关于angular - Jhipster - 当前在 Angular 前端登录的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60903197/