c# - 在代理后面返回双编码的 url
问题描述
我已经配置了登录路径:
services.AddAuthorization()
.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options => options.LoginPath = new PathString("/account/login"));
我的一项操作(比方说/go
)是用[Authorize]
属性保护的。
问题是当我作为未经授权的用户点击提到的操作时,返回 url 是双重编码的:
/account/login?ReturnUrl=%252Fgo
仅当应用程序在反向代理后面提供时才会发生(配置如下:https ://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-apache?view=aspnetcore-3.1#configure -a-代理服务器)
在本地运行或不使用反向代理时,正确构建返回 url;
/account/login?ReturnUrl=%2Fgo
这在使用 fe 时会导致一些问题LocalRedirect(returnUrl)
。我想避免明确解码它。
我能做些什么?
解决方案
推荐阅读
- android - Volley StringRequest 有效,但将其更改为 JsonObjectRequest 会导致 com.android.volley.ClientError
- c# - 为什么我需要刷新页面才能在 Google Analytics 中获取实时数据?
- qt - qml 锚定行内的东西
- javascript - 如何在 ngFor 循环 [Angular] 中制作可扩展的表格行?
- python - django 查询中的“as_”是什么意思?
- google-drive-api - Google Drive Api Stream 大文件 (>25MB)
- java - 具有浮点和字节的交错式 VBO
- c# - xaml - 如何指定使用哪个 ContentTemplateSelector?
- entity-framework - 如何在 Pascal Case 中生成类和属性名称,同时从 Oracle 数据库生成 EF DB First 类
- python - 预期目标大小 (50, 88),得到 torch.Size([50, 288, 88])