如何在 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()
方法的某些替代方法 - 哪个适用于登录用户?
通过用户号或用户名左右?
目标: 这对于不同的情况是需要的,例如:
- 获取用户名 X
- 显示用户名以字母开头的用户列表
- 拥有 X 位置的用户
- 等...
如果您使用的是 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();
在 ASP.NET 会员提供商的帮助下:
我们可以通过
So far so good for getting logged in user data!
问题:
有没有办法获取未登录的用户?
也许可以通过 User.Identity.GetUserId()
方法的某些替代方法 - 哪个适用于登录用户?
通过用户号或用户名左右?
目标: 这对于不同的情况是需要的,例如:
- 获取用户名 X
- 显示用户名以字母开头的用户列表
- 拥有 X 位置的用户
- 等...
如果您使用的是 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();