首页 > 解决方案 > 使用不记名令牌时获取用户 ID 的最快方法

问题描述

我有一些 Web API 端点需要当前用户 ID 才能将一些数据与发出请求的用户链接起来。

此时我在每个 Action 中都这样做以获取当前用户 ID:

string userName = User.Identity.Name;
var user = await _userManager.FindByNameAsync(userName);

这个 FindByNameAsync 真的让我很烦。我希望用户 ID 包含在 User.Identity 信息中,避免我在每个操作中执行此 FindByNameAsync 调用(ID 不是比名称更重要吗?)。我还没有对此进行分析,但是当这么重要的信息应该包含在 User.Identity 中时,这样做似乎有点浪费时间。

有什么方法可以更快地获取用户ID?更快是指性能更高。

标签: asp.net-corebearer-tokenasp.net-core-identity

解决方案


推荐阅读