ASP.NET Core 2.0 MVC中怎么获取当前登录用户信息
在ASP.NET Core 2.0 MVC中获取当前登录用户的信息,可以通过使用UserManager类来实现。UserManager类提供了一系列的方法,可以帮助我们获取当前登录用户的信息。
首先,需要在Startup.cs文件中配置UserManager类:
public void ConfigureServices(IServiceCollection services)
{
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
}
然后,在Controller中注入UserManager:
public class HomeController : Controller
{
private readonly UserManager<ApplicationUser> _userManager;
public HomeController(UserManager<ApplicationUser> userManager)
{
_userManager = userManager;
}
}
接下来,可以使用UserManager的FindByIdAsync方法来获取当前登录用户的信息:
var user = await _userManager.FindByIdAsync(User.Identity.GetUserId());
这样,就可以获取当前登录用户的信息,例如用户名、用户ID、用户角色等等。
另外,还可以使用UserManager的GetRolesAsync方法来获取当前登录用户的角色信息:
var roles = await _userManager.GetRolesAsync(user);
这样,就可以获取当前登录用户的角色信息,从而实现权限控制。
总之,在ASP.NET Core 2.0 MVC中获取当前登录用户的信息,可以通过使用UserManager类来实现。UserManager类提供了一系列的方法,可以帮助我们获取当前登录用户的信息,从而实现权限控制。
相关文章