gpt4 book ai didi

c# - 如何从 ASP.NET Core 应用程序访问 Azure Active Directory 的其他数据?

转载 作者:行者123 更新时间:2023-12-03 04:08:44 26 4
gpt4 key购买 nike

我在 ASP.NET Core 应用程序中使用了来自 Azure 平台的公司 Active Directory。当我第一次创建项目时,我将其设置为我的身份验证模型。我需要访问用户的其他详细信息,而不仅仅是他们的电子邮件地址或姓名,例如他们的 country , departmentusage location 。我不确定你是如何做到这一点的,并且想知道是否有人可以提供帮助。

Azure AD 身份验证的默认设置不包含任何模型或帐户页面,它只是将应用注册信息添加到您的 appsettings.json并添加使用身份的登录部分 View :

@using System.Security.Principal

<ul class="navbar-nav">
@if (User.Identity.IsAuthenticated)
{
<li class="nav-item">
<span class="nav-text text-dark">Hello @User.Identity.Name!</span>
</li>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="AzureAD" asp-controller="Account" asp-action="SignOut">Sign out</a>
</li>
}
else
{
<li class="nav-item">
<a class="nav-link text-dark" asp-area="AzureAD" asp-controller="Account" asp-action="SignIn">Sign in</a>
</li>
}
</ul>

我有什么方法可以扩展它以获取上述字段,或者我是否需要创建新的东西?蒂亚。

最佳答案

应包含在委托(delegate)人的声明中。

在您的 Controller 或 View 之一中放置一个断点。在监 window 口中,您可以将用户转换为 ClaimsPrincipal 并查看从 Azure AD 返回的声明。

参见Active Directory Claims Mapping用于声明列表和映射。

此外,ASP.Net Core 2.1 将 AccountController 和 View 移至 Razor 类库中,因此您不会在保存部分 View 的常用目录中看到它们。您可以使用脚手架身份工具 here. 将它们拉回到您的目录中

关于c# - 如何从 ASP.NET Core 应用程序访问 Azure Active Directory 的其他数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58064540/

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