angular - Jhipster - 当前在 Angular 前端登录的用户
问题描述
如何在 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)
);
}
}
);
}
...
推荐阅读
- sql - SQL:将两个表挂在另一个表的键上,没有所有组合
- javascript - 如何使用 jquery/javascript 或 angular 2/4 解码 sha 256 编码字符串?
- ios - 来自客户的 Apple App Store 证书
- javascript - javascript函数返回失败
- django - 使用参数从管理员执行管理命令
- java - 以 OO 方式装帧真实尺寸
- css - 如何仅使用 grid 和 justify-content 类自定义 Bootstrap 4?
- javascript - 如果我使用 redux 进行状态管理,我应该在本地存储状态吗?
- r - 汇总日期的开始和结束
- android - Viewpager里面的Viewpager滚动问题