繁体   English   中英

Asp.net Web Forms(非 MVC)azure 活动目录身份验证

[英]Asp.net Web Forms (NOT MVC) azure active directory authentication

我应该为 web 应用程序开发 azure AD 身份验证。 用户将输入他/她的 email 地址和密码,email 和密码应使用 Azure Active Directory 进行验证。 如果用户凭据有效,则对用户进行身份验证并重定向到某个页面。

非常感谢您的帮助,因为两天以来我一直坚持这一点,没有任何进展。

提前致谢

正如Ryan Wilson所说,身份验证将对所有 asp.net 应用程序同样有效,并张贴他的建议以帮助其他社区成员。

这是我尝试使用ASP.Net core webapp的示例,您也可以针对您的环境执行相同的步骤:Created tenant in Azure active directory and switch to my created tenant

在此处输入图像描述

我从租户那里创建了提供本地主机的应用程序注册。

在此处输入图像描述

在此处输入图像描述

在注册 Go 到 > 概览 > 复制所有凭据,如客户端 ID、租户 ID、重定向 URL 并记录下来以供进一步使用,如下所示:

在此处输入图像描述

单击管理中的身份验证选项,然后选中 ID TOKEN。 并使用单租户标记为是并保存。

在此处输入图像描述

例如,我创建了 ASP.Net 核心 web 应用程序并将以下Nuget package安装到Microsoft.AspNetCore.authentication.AzureAD和 Microsoft.Identity.Web项目的 Nuget 88431313 项目的根目录中

在此处输入图像描述

statup.cs文件和配置服务下更新如下

      public  void ConfigureServices(IServiceCollection services)
     {
        services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme).AddMicrosoftIdentityWebApp(Configuration.GetSection(****"AzureAd"****));
  
         services.AddControllersWithViews();
    
    }

并按如下方式更新身份验证:

app.UseAuthentication(); app.UseAuthorization();

在此处输入图像描述

并在appsetting.json文件中更新了以下应用注册概述中提到的详细信息。

{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "demotest.onmicrosoft.com",
"ClientId": "*****",
"TenantId": " ****** " ,
"CallbackPath": "/signin-oidc"
},

在此处输入图像描述

homecontroler.cs文件中添加了一个名为[Authorize]的属性

在此处输入图像描述

并运行将重定向 MSAL 页面的应用程序,如下所示:

在此处输入图像描述

有关详细信息,请参阅此博客MS DOC devblog

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM