BlazorServerwithIdentity权限授权重定向循环
创始人
2024-12-21 15:30:35
0

在ASP.NET Core Blazor Server应用程序中,通过Identity管理身份验证和访问控制是很常见的。但是,在进行授权验证时,很容易出现重定向循环。以下是几种解决这个问题的方法:

方法一:添加忽略筛选器 在Startup.cs文件的ConfigureServices方法中添加忽略筛选器:

services.AddControllersWithViews(options =>
{
    var policy = new AuthorizationPolicyBuilder()
                     .RequireAuthenticatedUser()
                     .Build();
    options.Filters.Add(new AuthorizeFilter(policy));
})
.IgnoreAntiforgeryToken();

方法二:跳过自定义授权页面 在中间件管道中添加一个过滤器,以跳过授权页面并直接访问需要授权的页面:

app.Use(async (context, next) =>
{
    var path = context.Request.Path.Value;
    if (path.StartsWith("/Identity/Account") 
        && path.Contains("/login") 
        && context.Response.StatusCode == 200
        && context.User?.Identity?.IsAuthenticated != true)
    {
        context.Response.Redirect("/Identity/Account/Login");
        return;
    }
    await next();
});

方法三:更新Cookie策略 在应用程序中,通过设置Cookie策略来管理身份验证。在Startup.cs文件的ConfigureServices方法中,通过将Cookie策略设置为"None"来解决重定向循环问题:

services.ConfigureApplicationCookie(options =>
{
    options.Cookie.Name = ".AspNetCore.Identity.Application";
    options.Cookie.SameSite = SameSiteMode.None;
    options.Cookie.SecurePolicy = CookieSecurePolicy.None;
});

无论采用哪种方法,都应该确保当前用户已经被授权,避免进入重定向循环。

相关内容

热门资讯

7分钟了解(aa扑克伙牌)外挂... 7分钟了解(aa扑克伙牌)外挂辅助插件安装神器(透视)新2025教程(2023已更新)(哔哩哔哩),...
2分钟了解(wpK)外挂智能a... 2分钟了解(wpK)外挂智能ai辅助软件(透视)必胜教程(2025已更新)(哔哩哔哩);1.wpK ...
第九分钟了解(wEpoke)黑... 第九分钟了解(wEpoke)黑科技透明挂辅助软件(透视)必赢教程(2026已更新)(哔哩哔哩);第九...
第十分钟了解(推扑克)外挂辅助... 第十分钟了解(推扑克)外挂辅助插件安装ai(透视)软件教程(2020已更新)(哔哩哔哩)是一款可以让...
第六分钟了解(wepokerp... 第六分钟了解(wepokerplus)软件透明挂辅助软件(透视)安装教程(2022已更新)(哔哩哔哩...
第十分钟了解(werplan)... 第十分钟了解(werplan)外挂智能ai辅助科技(透视)wepoke教程(2020已更新)(哔哩哔...
一分钟了解(aapoker透明... 一分钟了解(aapoker透明挂)外挂辅助插件安装神器(透视)2025版教程(2025已更新)(哔哩...
第七分钟了解(WPK)外挂智能... 您好:wepoke这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别...
十分钟了解(we辅助poker... 十分钟了解(we辅助poker)外挂智能ai辅助神器(透视)揭秘教程(2026已更新)(哔哩哔哩);...
四分钟了解(菠萝德州)外挂透明... 四分钟了解(菠萝德州)外挂透明挂辅助黑科技(透视)新2025版(2021已更新)(哔哩哔哩);超受欢...