我们正在尝试使用Thred.CurrentPrincipal来获取用户信息。但是,一旦将其部署到Azure,CurrentPrincipal就为空。
var td = new TokenData();
var claimsPrincipal = Thread.CurrentPrincipal as ClaimsPrincipal;
if (claimsPrincipal != null)
{
td.IsAuthenticated = claimsPrincipal.Identity.IsAuthenticated;
td.Name = claimsPrincipal.FindFirst(ClaimTypes.Name).Value;
td.Email = claimsPrincipal.FindFirst(ClaimTypes.Upn).Value;
td.Surname = claimsPrincipal.FindFirst(ClaimTypes.Surname).Value;
td.Role = claimsPrincipal.FindAll("http://schemas.xmlsoap.org/claims/Group")
.Select(s=>s.Value);
}
我确认ADFS设置正确。如果有人可以指出我的痛苦点,那将是非常不错的。
编辑:
CurrentPrincipal不是NULL,但详细信息是。因此,我们没有得到用户的姓名,角色和其他详细信息。
编辑2:
这是在Azure上发生的事情:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句