【问题标题】:How to add Azure Active Directory authentication only to some Razor Pages in a web app?如何仅将 Azure Active Directory 身份验证添加到 Web 应用程序中的某些 Razor 页面?
【发布时间】:2021-10-02 23:57:05
【问题描述】:

我在Azure AD Authentication 之后实现了 Azure Active Directory 身份验证 在 Stackoverflow 上。在我的项目中,我只需要在“设置”页面上进行身份验证,其他页面无需任何身份验证即可使用。谁能指导我如何实现这一目标? 我有一个专门用于设置页面的布局页面,它调用<partial name="_LoginPartial" />

【问题讨论】:

    标签: azure asp.net-core azure-active-directory razor-pages


    【解决方案1】:

    GitHub 上找到了一个工作样本 类似于 Mike Brind 的 示例,这里是排除/包含文件夹的方法。

     services.AddRazorPages(options =>
     {
        options.Conventions.AuthorizePage("/Contact");
        options.Conventions.AuthorizeFolder("/Private");
        options.Conventions.AllowAnonymousToPage("/Private/PublicPage");
        options.Conventions.AllowAnonymousToFolder("/Private/PublicPages");
     });
    

    【讨论】:

      【解决方案2】:

      您可以按如下方式配置保护哪些页面免受未经授权的用户的访问:

      services.AddRazorPages()
          .AddRazorPagesOptions(options =>
          {
              options.Conventions.AuthorizePage("/Settings");
          });
      

      【讨论】:

      • 我进行了更改,但网站加载后我仍然收到登录提示
      • 你的 IndexModel 有 [Authorize] 属性吗?如果是这样,请将其删除。
      • 不,迈克,我在任何页面上都没有 [Authorize] 属性。
      猜你喜欢
      • 2020-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-05
      • 2017-09-05
      • 2019-09-14
      • 1970-01-01
      相关资源
      最近更新 更多