User.Identity.Name返回null

asp.net asp.net-mvc asp.net-identity single-sign-on identityserver3

414 观看

1回复

1 作者的声誉

我的SSO代理是由asp.net core 1.1Core 1.1 开发的,很少有客户端应用程序是由Core 1.1开发的,它工作正常。如果我尝试实施4.5.2开发的客户端应用程序,则它认证成功,但是当我尝试检索用户名时,我会遇到此问题。

我的代码:

[Authorize]
public ActionResult Index()
{
   ClaimsPrincipal icp = Thread.CurrentPrincipal as ClaimsPrincipal;
    // Access IClaimsIdentity which contains claims
    ClaimsIdentity claimsIdentity = (ClaimsIdentity)icp.Identity;
    Response.Write("User Name:"+ User.Identity.Name + "<br>");
    // Access claims
    foreach (Claim claim in claimsIdentity.Claims)
     {
        Response.Write(claim.Type+"<br>");
        Response.Write(claim.Value + "<br>");
        Response.Write(claim.ValueType + "<br>");
    }
    return View();
}
作者: ranji kan 的来源 发布者: 2017 年 9 月 15 日

回应 1


-1

102 作者的声誉

使用User.Identity.GetUserId()代替User.Identity.Name

作者: Michael 发布者: 2017 年 9 月 15 日
32x32