如何使用ASP获取另一个用户的索赔.净的核心

本文关键字:核心 用户 何使用 ASP 获取 另一个 | 更新日期: 2023-09-27 18:17:09

我还在用asp.net core学习身份。我正在做一个基于声明的令牌授权。大多数例子都是关于"当前"登录用户的。在我的情况下,我的RPC服务正在接收用户名&身份数据库中某个用户的密码。我需要

  1. 验证具有此类凭据的用户是否存在
  2. 获取该用户的所有声明

验证用户是否存在,我使用这个:

ApplicationUser applicationUser = await _userManager.FindByNameAsync(username);
bool exist = await _userManager.CheckPasswordAsync(applicationUser, password);
if (!exist)
{
    // log and return
}

我不知道如何正确地做第二步。我想我可以做一个简单的linq来收集所有用户的声明,但我确信使用身份方法有更好的方法。

如何使用ASP获取另一个用户的索赔.净的核心

需要使用GetClaimsAsync()方法。例如:

var claims = await _userManager.GetClaimsAsync(applicationUser);

查看MSDN