.net核心获取用户而非当前用户的数据-身份

时间:2018-07-11 19:25:41

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

我具有以下获取我的信息的信息:

        public async Task<IActionResult> OnGetAsync()
    {
        var user = await _userManager.GetUserAsync(User);
        if (user == null)
        {
            return NotFound($"Unable to load user with ID 
            '{_userManager.GetUserId(User)}'.");
        }

        var userName = await _userManager.GetUserNameAsync(user);
        var email = await _userManager.GetEmailAsync(user);
        var phoneNumber = await _userManager.GetPhoneNumberAsync(user);

        Username = userName;

        Input = new InputModel
        {
            Email = email,
            PhoneNumber = phoneNumber,
            FriendlyName = user.FriendlyName
        };

        IsEmailConfirmed = await _userManager.IsEmailConfirmedAsync(user);

        return Page();
    }

我将如何获取其他用户信息...如何传递不是我猜为当前用户的用户。我已经尝试了几件事,但我想我在这里遗漏了一些明显的东西。

谢谢!

2 个答案:

答案 0 :(得分:2)

UserManager<TUser>.FindByXXX()个返回用户对象的方法:

Task<TUser> FindByEmailAsync(string email);
Task<TUser> FindByIdAsync(string userId);
Task<TUser> FindByLoginAsync(string loginProvider, string providerKey);
Task<TUser> FindByNameAsync(string userName);

答案 1 :(得分:0)

最终使用此:

var user = await _userManager.FindByIdAsync(Userid);

从路线获取用户ID。