多个 ASP.NET MVC Web 项目的通用身份验证 (Azure AD)

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

我有一个 Visual Studio 解决方案,其中在 IIS 中部署了多个 ASP.NET MVC Web 项目 (.NET 4.8)。在“home”项目(即启动项目)中添加了 Azure AD 身份验证,工作正常。

如果尝试访问其他项目的页面,我会收到身份验证错误。

如何实现所有项目的统一认证?所有项目都在同一个域名下。

asp.net-mvc azure-active-directory frameworks owin .net-4.8
1个回答
0
投票

要对所有 .NET Framework 应用程序使用通用 Azure AD,您需要确保所有应用程序都使用相同的凭据。

  • 确保在所有
    web.config
    文件中完成相同的配置。

根据此MSDoc

单点登录是一种身份验证方法,允许用户使用一组凭据登录多个独立的软件系统。

通过 SSO,用户可以访问所有需要的应用程序,而无需使用不同的凭据进行身份验证。

要实现通用身份验证,您需要在Web应用程序之间使用共享身份验证cookie。

网站通常由协同工作的各个网络应用程序组成。为了提供单点登录 (SSO) 体验,站点内的 Web 应用程序必须共享身份验证 cookie。

请参阅此博客来配置

使用 Microsoft Azure AD 进行单点登录 (SSO)

共享Cookie设置:

安装以下 NuGet 包

Microsoft.Owin; Microsoft.Owin.Security.Cookies; Microsoft.Owin.Security; Microsoft.AspNetCore.DataProtection; Microsoft.Owin.Security.DataProtection; Microsoft.Owin.Security.Interop; Microsoft.AspNetCore.Identity;


[assembly: OwinStartup(typeof(WebApplication3.Startup))] 

namespace WebApplication3
{
    public class Startup
    {
        public void Config(IAppBuilder app)
        {
            ConfigureAuth(app); 
        }

        public void ConfigureAuth(IAppBuilder app)
        {
           ---
           ---
        }
    }
}
    
© www.soinside.com 2019 - 2024. All rights reserved.