0

私のSSOプロキシはasp.net core 1.1によって開発され、コア1.1で開発されたクライアントアプリケーションもほとんど動作しません。 4.5.2を実装しようとするとクライアントアプリケーションが正常に認証されましたが、ユーザー名を取得しようとするとこの問題に直面しました。User.Identity.Name Returns null

マイコード:

[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

利用User.Identity.GetUserId()代わりのUser.Identity.Name

+0

System.Security.Principalだけ持ってUser.Identity.Name、方法GetUserIdを持っていません() –