C# 自定义Asp.NET核心标识未经授权的响应类型和状态代码
我有一个带有C# 自定义Asp.NET核心标识未经授权的响应类型和状态代码,c#,asp.net-core,asp.net-core-webapi,C#,Asp.net Core,Asp.net Core Webapi,我有一个带有[Authorized]属性的WebApi端点。我没有配置任何其他策略或任何内容 [Authorized] [Route("foo")] public async Task<IActionResult> Foo(FooModel model) { // ....... } [授权] [路线(“foo”)] 公共异步任务Foo(FooModel模型) { // ....... } 当我尝试点击这个端点时,我没有经过身份验证,我将得到一个
[Authorized]
属性的WebApi端点。我没有配置任何其他策略或任何内容
[Authorized]
[Route("foo")]
public async Task<IActionResult> Foo(FooModel model)
{
// .......
}
[授权]
[路线(“foo”)]
公共异步任务Foo(FooModel模型)
{
// .......
}
当我尝试点击这个端点时,我没有经过身份验证,我将得到一个404响应,没有内容
我想要得到的是:带有401状态码的自定义响应类型。我该怎么做?您可以在
启动
类中添加以下代码:
services.ConfigureApplicationCookie(options =>
{
options.Events.OnRedirectToLogin = context =>
{
context.Response.StatusCode = 401;
return Task.CompletedTask;
};
});
你的行动:
[Authorize]
public async Task<IActionResult> Foo(FooModel model)
{
// ...
}
您可以在
启动
类中添加以下代码:
services.ConfigureApplicationCookie(options =>
{
options.Events.OnRedirectToLogin = context =>
{
context.Response.StatusCode = 401;
return Task.CompletedTask;
};
});
你的行动:
[Authorize]
public async Task<IActionResult> Foo(FooModel model)
{
// ...
}
尝试使用
[Route]
以确保正确调用该函数
[Authorized]
[Route("Foo")]
public async Task<IActionResult> Foo(FooModel model)
{
}
[授权]
[路线(“Foo”)]
公共异步任务Foo(FooModel模型)
{
}
尝试使用[Route]
以确保正确调用函数
[Authorized]
[Route("Foo")]
public async Task<IActionResult> Foo(FooModel model)
{
}
[授权]
[路线(“Foo”)]
公共异步任务Foo(FooModel模型)
{
}
可能重复可能重复如果它不起作用,请共享您的启动
类。如果它不起作用,请共享您的启动
类。