gpt4 book ai didi

c# - Thread.CurrentPrincipal 在 Azure 上具有空详细信息

转载 作者:太空宇宙 更新时间:2023-11-03 15:48:29 25 4
gpt4 key购买 nike

我们正在尝试使用 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,但详细信息为 NULL。因此我们无法获取用户的姓名、角色和其他详细信息。

编辑2:

这就是 Azure 上发生的情况:

remote debugging on Azure

remote debugging on Azure

最佳答案

您可能需要打开用户个人资料才能让您的委托(delegate)人正常工作。

要打开它,请在您网站的门户中转到“配置”->“应用程序设置”并添加应用程序设置 WEBSITE_LOAD_USER_PROFILE = 1. 您的网站需要处于基本或标准模式才能正常工作。

关于c# - Thread.CurrentPrincipal 在 Azure 上具有空详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27007143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com