在asp.net mvc 4 razor视图中获取用户声明

Mig*_*ura 8 asp.net-mvc

如何在Razor视图中获取当前身份验证用户的类型声明?

我尝试了一些选项,例如以下内容,但没有成功:

(ClaimsPrincipal)User.Identity).FindFirst(ClaimTypes.NameIdentifier); }
Run Code Online (Sandbox Code Playgroud)

谢谢你,米格尔

Ric*_*ney 26

尝试转换为ClaimsIdentity.这适用于我的MVC5项目.

        @{
        var claimsIdentity = User.Identity as System.Security.Claims.ClaimsIdentity;

        if (claimsIdentity != null)
        {
            var c = claimsIdentity.FindFirst(System.Security.Claims.ClaimTypes.NameIdentifier);

            if (c != null)
            {
             <p>
                 @c.Type.ToString(); 
                 @c.Value.ToString();
             </p>   
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)