首页 / 问答 / 在C#&.NET Core(.NET 7)的Web API程序中,如何从数据库加载并动态设置cors允许跨域的域名列表呢?

在C#&.NET Core(.NET 7)的Web API程序中,如何从数据库加载并动态设置cors允许跨域的域名列表呢?

C# 跨域 CORS .NET Core .NET 7 510 次浏览
0

我正在开发一个基于.NET 7的Web API应用程序,并需要实现CORS(跨源资源共享)策略,以控制跨域请求的访问权限。然而,我希望能够动态加载和更新允许的域名列表,而不是静态地在代码中设置。

我想知道如何使用.NET 7的特性来实现这个目标。具体来说,我希望能够从数据库中获取域名列表,并在每个请求中动态地设置CORS策略。这样,当我在数据库中添加或删除允许的域名时,不需要重新编译和部署应用程序。

我想了解如何在.NET 7的Web API程序中编写代码,以实现这种动态加载和设置CORS允许的域名列表的功能。我想知道如何创建自定义的中间件来处理CORS策略,如何从数据库中获取域名列表,并如何将其与CORS服务集成,以在每个请求中验证并设置允许的域名列表。

总而言之,我需要一个详细的步骤指南,以便我可以在.NET 7的Web API应用程序中实现动态加载和设置CORS允许的域名列表的功能。让我能够更灵活地管理CORS策略,并根据数据库中的数据实时更新域名列表。

在C#&.NET Core(.NET 7)的Web API程序中,如何实现以上从数据库加载并动态设置cors允许跨域的域名列表的需求呢?

回复 [×]
提交评论
请输入评论内容

1 个回答

  • 0

    在.NET 7的Web API程序中,你可以通过使用自定义中间件来加载并动态设置CORS(跨源资源共享)允许的域名列表。以下是一种实现方法:

    1. 首先,确保你已经在项目中安装了Microsoft.AspNetCore.Cors包。

    2. 创建一个名为CustomCorsMiddleware的中间件类。可以在项目的根目录下创建一个新的文件,命名为CustomCorsMiddleware.cs,并将以下代码添加到该文件中:

    1. Startup.cs文件的ConfigureServices方法中,添加以下代码,以将自定义中间件和CORS服务注册到应用程序中:

    1. Startup.cs文件的Configure方法中,将app.UseCustomCorsMiddleware();添加到中间件管道中,以使用自定义的CORS中间件:

    以上步骤完成后,你需要实现一个从数据库中获取允许的域名列表的方法GetAllowedDomainsFromDatabase(),并将其替换为实际的逻辑。
    在这个方法中,你可以使用Entity Framework或其他数据库访问工具来查询数据库并返回允许的域名列表。

    通过上述步骤,我们可以在.NET 7的Web API程序中实现从数据库加载并动态设置CORS允许的域名列表。
    每当数据库中的域名列表发生更改时,CORS策略会自动更新,无需重新编译和部署应用程序。
    这样,我们能够灵活地管理允许的域名,并实现动态的CORS控制,以满足应用程序的需求。

    Rector的个人主页

    Rector

    2023-06-27 回答

    我来回答