在剃刀页面上跳过身份验证

时间:2020-01-13 15:27:46

标签: c# asp.net core razor-pages

我有一个ASP.NET Core 3.1 Razor页面应用程序,该应用程序使用ADFS进行身份验证。我不希望对特定的剃刀页面进行身份验证。我该如何实现。我知道我们可以使用.AddRazorPagesOptions跳过文件夹/页面上的授权,但是如何跳过身份验证。请查看下面的代码

app.UseStaticFiles();
            app.UseAuthentication();
            app.UseSession();

            app.Use(
                (next) =>
                    {
                        return async context =>
                            {
                                var user = context.User;
                                if (user == null || !user.Identities.Any(identity => identity.IsAuthenticated))
                                {
                                    await context.ChallengeAsync();
                                }
                                else
                                {
                                    //await app.SetAuthData(accessor);
                                    await app.ConfigureEntitySession(accessor, env);
                                    await next.Invoke(context);
                                }

                            };
                    });

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });
        }

1 个答案:

答案 0 :(得分:3)

您尝试过

services.AddRazorPages()
.AddRazorPagesOptions(options =>
{        
    options.Conventions.AllowAnonymousToPage("/YourPage/...");
});