如何仅将 Azure Active Directory 身份验证添加到 Web 应用程序中的某些 Razor 页面?

How to add Azure Active Directory authentication only to some Razor Pages in a web app?

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

您可以配置哪些页面以防止未经授权的用户访问,如下所示:

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

GitHub 上找到了工作示例 类似于 Mike Brind 的 示例,这里是 exclude/include 文件夹的方法。

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