Identityserver4 静态文件-asp.net web api core 2.1身份验证方案
如何避免对静态文件进行身份验证 对于静态文件(图像、.js、.css等)上的每个请求,都会记录一条带有“AuthenticationScheme:“Bearer”未经身份验证”的消息。虽然在配置设置为调试时才记录消息,但在这方面浪费的资源是不必要的 一切正常,我只是想避免检查这些请求的身份验证。有没有办法让它失效?我尝试了几种在Configure方法上设置身份验证的方法,但都不起作用 这是我当前的配置:Identityserver4 静态文件-asp.net web api core 2.1身份验证方案,identityserver4,static-files,bearer-token,asp.net-core-2.1,Identityserver4,Static Files,Bearer Token,Asp.net Core 2.1,如何避免对静态文件进行身份验证 对于静态文件(图像、.js、.css等)上的每个请求,都会记录一条带有“AuthenticationScheme:“Bearer”未经身份验证”的消息。虽然在配置设置为调试时才记录消息,但在这方面浪费的资源是不必要的 一切正常,我只是想避免检查这些请求的身份验证。有没有办法让它失效?我尝试了几种在Configure方法上设置身份验证的方法,但都不起作用 这是我当前的配置: public void Configure(IApplicationBuilder app,
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
var locOptions = app.ApplicationServices.GetService<IOptions<RequestLocalizationOptions>>();
app.UseRequestLocalization(locOptions.Value);
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
}
app.UseStaticFiles();
app.UseSpaStaticFiles();
app.UseCors("default");
app.UseAuthentication();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action=Index}/{id?}");
});
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
spa.UseReactDevelopmentServer(npmScript: "start");
}
});
DataAccessLayer.WebHelpers.Configure(app.ApplicationServices.GetRequiredService<IHttpContextAccessor>());
}
public void配置(IApplicationBuilder应用程序,IHostingEnvironment环境)
{
var locOptions=app.ApplicationServices.GetService();
app.UseRequestLocalization(locOptions.Value);
if(env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
其他的
{
app.UseExceptionHandler(“/Error”);
}
app.UseStaticFiles();
app.UseSpaStaticFiles();
应用程序UseCors(“默认”);
app.UseAuthentication();
app.UseMvc(路由=>
{
routes.MapRoute(
名称:“默认”,
模板:“{controller}/{action=Index}/{id?}”);
});
app.UseSpa(spa=>
{
spa.Options.SourcePath=“ClientApp”;
if(env.IsDevelopment())
{
用户eactdevelopmentserver(npmScript:“开始”);
}
});
DataAccessLayer.WebHelpers.Configure(app.ApplicationServices.GetRequiredService());
}
好的,通过分支请求管道,仅对“/api”路径应用授权来获得:
//app.UseAuthentication();
app.MapWhen(x => x.Request.Path.Value.StartsWith("/api"), builder =>
{
builder.UseAuthentication();
builder.UseMvcWithDefaultRoute();
});
app.MapWhen(x => !x.Request.Path.Value.StartsWith("/api"), builder =>
{
builder.UseMvcWithDefaultRoute();
builder.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
spa.UseReactDevelopmentServer(npmScript: "start");
}
});
});