Lia*_*iam 4 .net asp.net-core asp.net-core-1.0
在我的startup.cs方法中public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)我想访问HttpContext.
我想要这样做的原因是我想将401 响应重定向到登录页面。
app.UseStatusCodePages(async context => {
var request = context.HttpContext.Request;
var response = context.HttpContext.Response;
if (response.StatusCode == (int)HttpStatusCode.Unauthorized)
// you may also check requests path to do this only for specific methods
// && request.Path.Value.StartsWith("/specificPath")
{
response.Redirect("/account/login");
}
});
Run Code Online (Sandbox Code Playgroud)
context在上面的例子中没有属性HttpContext。我如何访问HttpContext?
您正在尝试使用 UseStatusCodePages(此 IApplicationBuilder 应用程序,操作配置) 扩展方法重载。
您应该使用的是 UseStatusCodePages(this IApplicationBuilder app, Func<StatusCodeContext, Task> handler)。
像这样的东西:
app.UseStatusCodePages(context => {
var request = context.HttpContext.Request;
var response = context.HttpContext.Response;
if (response.StatusCode == (int)HttpStatusCode.Unauthorized)
{
response.Redirect("/account/login");
}
return Task.CompletedTask;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6742 次 |
| 最近记录: |