ASP.NET 重定向本身不受浏览器同源策略的限制,因此可以实现跨域重定向。但是,要实现跨域重定向,需要满足以下条件:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowAllOrigins",
builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
window.location.href
或window.location.replace()
方法进行重定向:window.location.href = "https://example.com/some-page";
// 或者
window.location.replace("https://example.com/some-page");
需要注意的是,虽然ASP.NET重定向可以实现跨域,但在实际应用中,跨域请求可能会带来安全风险。因此,在允许跨域请求时,请确保正确配置CORS策略,仅允许可信来源的请求。