ASP.NET Webforms 与 Azure AD 集成

问题描述 投票:0回答:1

我有一个在 .NET 4.7.2 上运行的 ASP.NET Webforms 应用程序,为多个客户端提供服务。其中一位客户拥有 Azure 帐户,他们希望使用其 Azure 用户在我们的应用程序中进行身份验证。

考虑到只有该客户需要此集成,而所有其他客户将继续使用我的应用程序的传统用户/密码流程,我如何实现此集成?

我需要实施什么才能仅为该客户提供此支持?

azure authentication webforms
1个回答
0
投票

要为特定客户端实施 Azure AD 身份验证,同时允许其他客户端继续使用传统的用户名/密码身份验证,您可以按照以下步骤操作:

  1. 在 Azure AD 中注册您的应用程序 在 Azure AD 中注册应用程序: 1.转到 Azure 门户。 2.导航到 Azure Active Directory > 应用程序注册。 3.点击“新注册”。 4.填写必填字段: 1.名称:您的应用程序名称。 2.支持的账户类型:选择“任意组织中的账户” 目录(任何 Azure AD 目录 - 多租户)”。 3.重定向 URI:将此设置为 Azure AD 在身份验证后应重定向用户的 URL。例如,https://your-app-url/signin-oidc。

配置应用程序注册:

1.转到注册的应用程序并记下“应用程序(客户端)ID”和“目录(租户)ID”。 2.在“证书和机密”下,创建新的客户端机密并记下该值。 3.在“API权限”下,为User.Read添加Microsoft Graph的权限。

将 Azure AD 身份验证添加到您的应用程序 安装 NuGet 包:

1.安装必要的 NuGet 包以支持 Azure AD 身份验证。对于 .NET 4.7.2 应用程序,您通常需要 Microsoft.Owin.Security.OpenIdConnect 和 Microsoft.IdentityModel.Protocols.OpenIdConnect。 bash 代码片段:

安装包 Microsoft.Owin.Security.OpenIdConnect 安装包 Microsoft.IdentityModel.Protocols.OpenIdConnect

配置OWIN中间件: 1.在您的应用程序中,将 OWIN 配置为使用 Azure AD 身份验证。添加或更新 Startup 类以配置身份验证中间件。 创建控制器来处理 Azure AD 登录:

1.创建AccountController来处理登录、注销和回调操作。

有条件的 Azure AD 身份验证: 1. 实现逻辑以有条件地仅为特定客户端触发 Azure AD 身份验证。这可以通过检查请求上下文(例如,检查域或特定查询参数)然后在条件匹配时触发 Azure AD 登录流程来实现。 配置您的应用程序以处理 Azure AD 身份验证

更新Web.config: 1. 在 Web.config 中添加必要的配置设置。 安全路由或控制器: 1.使用[Authorize]属性来保护需要身份验证的路由或控制器。 积分:

  • 在 Azure AD 中注册您的应用程序。
  • ASP.NET 应用程序中的 OWIN 中间件配置用于处理 Azure AD 身份验证。
  • 条件条件逻辑是仅针对特定客户端触发Azure AD身份验证。

注意:我无法添加 C# 和 xml 代码片段,但如果您添加 C# 标签以在此处添加代码示例,我可以为您提供代码示例供您尝试

© www.soinside.com 2019 - 2024. All rights reserved.