如何在 ASP.NET 身份提供者中获取用户?

How to get user in ASP.NET Identity provider?

在 ASP.NET 会员提供商的帮助下:

我们可以通过

获得 登录 用户

So far so good for getting logged in user data!


问题:

有没有办法获取未登录的用户?

也许可以通过 User.Identity.GetUserId() 方法的某些替代方法 - 哪个适用于登录用户?

通过用户号或用户名左右?


目标: 这对于不同的情况是需要的,例如:

如果您使用的是 Identity 2.0+,那么它 exposes an IQueryable interface to the user store。您几乎可以使用它来完成您询问的所有事情:

UserManager.Users.Where(w => w.Location == "Mars").ToList();

您可以在那里使用任何类型的 LINQ 幻想。您也可以像在其他控制器中一样直接点击 DB table。如果使用 EF,类似于:

db.AspNetUsers.Where(w => w.Username == "Bob").AsEnumerable();