ASP.NET Core 2.0 MVC中怎么获取当前登录用户信息

2023-04-18 07:29:00 获取 登录 用户信息

在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类提供了一系列的方法,可以帮助我们获取当前登录用户的信息,从而实现权限控制。

相关文章