在类asp中获取用户声明.vnext beta4

本文关键字:声明 vnext beta4 用户 获取 asp 在类 | 更新日期: 2023-09-27 18:02:15

在asp.net vnext中,我使用以下代码在控制器中获取用户声明:

 var claimsIdentity = User.Identity as ClaimsIdentity;
        var c = claimsIdentity.FindFirst(ClaimTypes.Name);
        var temp = c.Value.ToString();

,但使用相同的,我不能得到它在我的类(它曾经存储在DB)。我得到以下错误(在用户)

The name 'User' does not exist in the current context

我尝试线程。没有成功。任何帮助吗?

在类asp中获取用户声明.vnext beta4

通常你会从当前的HttpContext访问User。

你的类可以在它的构造函数中声明一个对Microsoft.AspNet.Hosting.IHttpContextAccessor的依赖,以通过依赖注入获得一个。然后你可以像这样得到它:

ClaimsPrincipal user = httpContextAccessor.HttpContext.User;