C# 如果授权无效,请停止控制器构造函数执行
我正在使用用c#构建的webapi项目,其中有几个控制器 控制器有自己的构造函数方法,我在构造函数中检查身份验证 当身份验证成功时,它应该执行所需的函数,如果没有,我希望它将JSON作为无效授权返回 我有以下代码来执行此操作:-C# 如果授权无效,请停止控制器构造函数执行,c#,asp.net-mvc,asp.net-web-api,C#,Asp.net Mvc,Asp.net Web Api,我正在使用用c#构建的webapi项目,其中有几个控制器 控制器有自己的构造函数方法,我在构造函数中检查身份验证 当身份验证成功时,它应该执行所需的函数,如果没有,我希望它将JSON作为无效授权返回 我有以下代码来执行此操作:- public class UsersController : Controller { private RM.Data.IUserData _userData; private String APIToken = AppConf
public class UsersController : Controller
{
private RM.Data.IUserData _userData;
private String APIToken = AppConfig.GetConfigValue("APIToken");
public UsersController()
{
if (match)
{
// then execute function
}
else
{
// stop execution
}
}
}
我尝试了以下方法来停止函数的执行
return;
HttpResponse.End();
System.Threading.Thread.CurrentThread.Interrupt();
System.Threading.Thread.CurrentThread.Abort();
System.Web.HttpContext.Current.Response.Close();
Enviorment.Exit(0);
Enviorment.Exit(1);
Enviorment.Exit(-1);
一些终止应用程序,另一些让api继续处理
我有大约50个API,无法将此函数附加到每个API。在这种情况下可以做些什么
从上面看,没有什么对我有用。你们能帮忙吗
在构造函数中,我正在检查身份验证
那是非常错误的。您应该至少在控制器级别使用
[Authorize]
属性。如果要执行自定义授权逻辑,请在web api管道中的身份验证过滤器中执行该逻辑。请看你做的都是错的。研究过滤器。这尖叫。为什么要在控制器构造函数中进行身份验证和大量处理?