【问题标题】:C#, how to get WindowsIdentity.GetCurrent().Name from Azure applicationC#,如何从 Azure 应用程序获取 WindowsIdentity.GetCurrent().Name
【发布时间】:2019-09-22 15:04:42
【问题描述】:

我们正在尝试将我们的旧版网络表单应用程序部署到 azure。 我们的应用程序安全模型基于 Window Active Directory。

1 对于托管在 Azure 中的站点,等效的 c# 代码是什么: WindowsIdentity.GetCurrent().Name; 本文演示了如何使用“OWIN”中间件。 https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-v1-aspnet-webapp。我走对了吗?

2 由于我的 localhost 未托管在 Azure 上(它在 IIS Express 下运行),因此可以在任何地方使用它: if (debugMode or localhost) then WindowsIdentity.GetCurrent().Name 否则 Azure-AD 等效代码。

【问题讨论】:

    标签: azure azure-active-directory


    【解决方案1】:

    对于托管在 Azure 中的站点,等效的 c# 代码是什么:WindowsIdentity.GetCurrent().Name;

    看来您使用的是Azure WebApp服务,如果是这样的话,很遗憾,我们无法在azure WebApp服务中使用Windows身份验证。

    也许 Azure 网站 Azure Actice Directy 是最佳选择。 Sync from AD to Azure Actice Directy 也很容易设置。然后使用Azure Easy Authentication 执行此操作。

    如果您仍想使用 Windows 身份验证,我建议您可以使用Azure VM。您需要将 VM 加入您的 AD。

    【讨论】:

    • 是的,使用 Azure WebApp 服务。从 ActiveDirectory 到 Azure Active Directory 的同步已经完成。
    • 1:43 的代码很有用。我们将使用这个: var claimPrinciple = Thread.CurrentPrincipal as ClaimsPrincipal; var userEmail = claimPrinciple.Identity.Name;我们将通过电子邮件而不是域名来识别用户。
    猜你喜欢
    • 2020-06-27
    • 2022-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 2010-11-28
    相关资源
    最近更新 更多