我正在开发一个将简单类发布到数据库的API,我使用的是asp.net web api和Ninject。这个API的客户,都使得这个API与头在asp.net web api中注入请求标头的最佳方法
username: xx and password: yy
所以每次在每一个方法,我要检查,如果用户名和密码是正确的请求。我知道这是不正确的做法,我可以使用BasicAuth。 OAuth exc。但我必须这样。
我的问题是,我可以将读取请求头的逻辑注入到gloabl变量中,这样我就可以停止重新提交自己了。
简单的逻辑,我使用:
[HttpPost]
public HttpResponseMessage Post(Sale saleRecord)
{
var request = HttpContext.Current.Request;
var username = request.Headers["username"];
var password = request.Headers["password"];
if(username=="xx" && password=="yy")
{//Logic here}
}
MVC中,我们可以覆盖OnActionExecuting()
方法,并检查这些头,但在Web API我不能覆盖它。
这是什么最佳做法?