9

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

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

(ClaimsPrincipal)User.Identity).FindFirst(ClaimTypes.NameIdentifier); }

谢谢你,米格尔

4

1 回答 1

29

尝试转换为 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>   
            }
        }
    }
于 2013-10-22T19:06:27.613 回答