小编Bob*_*ard的帖子

从 netcore 2 中的 Url 禁用/删除 '?ReturnUrl='

我试图找到一种方法来阻止我的 aspnetcore 应用程序将“?ReturnUrl=”添加到 URL。有谁知道怎么做,使用某种中间件。

我尝试像下面那样做,但没有任何效果:

public class RequestHandlerMiddleware
{
    private readonly RequestDelegate _next;

    public RequestHandlerMiddleware(RequestDelegate next)
    {
        _next = next;
    }

    public async Task Invoke(HttpContext context)
    {
        if(context.Request.QueryString.HasValue && context.Request.QueryString.Value.Contains("?ReturnUrl="))
        {
            context.Request.QueryString = new QueryString(string.Empty);
        }
        await _next.Invoke(context);
    }
}

public static class RequestHandlerMiddlewareExtension
{
    public static IApplicationBuilder UseRequestHandlerMiddleware(this IApplicationBuilder builder)
    {
        return builder.UseMiddleware<RequestHandlerMiddleware>();
    }
}
Run Code Online (Sandbox Code Playgroud)

注册startup.cs

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/error");
    }

    app.UseDefaultFiles();
    app.UseStaticFiles();

    app.UseAuthentication();
    app.UseRequestHandlerMiddleware();

    app.UseMvc(routes …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core asp.net-core-2.0

5
推荐指数
1
解决办法
2273
查看次数

标签 统计

asp.net-core ×1

asp.net-core-2.0 ×1

c# ×1