asp.net-mvc - 如何将 Azure Active Directory 身份验证添加到 R

据我了解,您可以通过执行“新建项目”>“ASP.NET Core Web 应用程序”>“[提供应用程序名称]”>“Web 应用程序”在 Visual Studio 2019 中创建 Razor Pages 应用程序

以下教程演示如何将 Azure Active Directory 身份验证添加到 MVC 应用程序。我让示例 MVC 应用程序可以运行。

我将本教程中的所有必要代码复制到 Razor Pages 应用程序(Program.cs 和 Startup.cs)中,但我没有收到任何身份验证提示。这是否意味着 Razor 页面不受支持?还是我做错了什么?

https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-v2-aspnet-core-webapp

最佳答案

基本上,您的代码中需要以下三件事。

  1. 对您的 ConfigurationServices 进行以下更改。
       public void ConfigureServices(IServiceCollection services)
        {
            services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
                .AddAzureAD(options => Configuration.Bind("AzureAd", options));

            services.AddRazorPages().AddMvcOptions(options =>
            {
                var policy = new AuthorizationPolicyBuilder()
                    .RequireAuthenticatedUser()
                    .Build();
                options.Filters.Add(new AuthorizeFilter(policy));
            });
        }
  1. appsettings.json
{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "Domain": "<Your Domain>",
    "TenantId": "<Your TenantId>",
    "ClientId": "<ClientId>",
    "CallbackPath": "/signin-oidc"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*"
}

  1. 确保 Startup.cs 中的配置方法中有以下代码
   app.UseAuthentication();
   app.UseAuthorization();

或者,如果您使用以下命令创建 dotnet core 应用程序,您将完成一切并为您做好准备。

dotnet new razor --auth SingleOrg --client-id <applicationId> --tenant-id <domaintenantid> --domain <domain>

关于asp.net-mvc - 如何将 Azure Active Directory 身份验证添加到 Razor Pages 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63004373/

相关文章:

reactjs - React Native 删除 Flatlist 中的底部空间

python - Jupyter notebook 感叹号参数

python - 在循环中的每个字符后插入句点

python - matplotlib plt.ylim 引发错误列表对象不可调用

list - 如何 List.sum 一个列表(也许是 float )?

python - 如何在python中解析html表格

python - 属性错误 : 'list' object has no attribute 'en

r - 拆分字符串、标记子字符串并将标记转换为数字向量

python - Pyspark - 根据一行中的条件过滤掉多行

amazon-web-services - 在 AWS 的子网中检索私有(private) IP 地