我的SSO代理由asp.net core 1.1
开发,很少有客户端应用程序也由核心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();
}
答案 0 :(得分:-1)
使用User.Identity.GetUserId()
代替User.Identity.Name