Asp.net mvc 在asp.net web api中插入请求头的最佳方法
我正在开发一个api,将一个简单的类发布到数据库中,我正在使用asp.NETWebAPI和Ninject。此api的客户端正在使此api成为具有标头的请求Asp.net mvc 在asp.net web api中插入请求头的最佳方法,asp.net-mvc,asp.net-web-api,ninject,Asp.net Mvc,Asp.net Web Api,Ninject,我正在开发一个api,将一个简单的类发布到数据库中,我正在使用asp.NETWebAPI和Ninject。此api的客户端正在使此api成为具有标头的请求 用户名:xx和密码:yy 因此,在每种方法中,我都必须检查用户名和密码是否正确。我知道这不是正确的方法,我可以用BasicAuth。但我必须这样做 我的问题是,我可以将读取请求头的逻辑注入到gloabl变量中,这样我就可以停止自己重新编写 我使用的简单逻辑是: [HttpPost] public HttpResponseMessa
用户名:xx和密码:yy
因此,在每种方法中,我都必须检查用户名和密码是否正确。我知道这不是正确的方法,我可以用BasicAuth。但我必须这样做
我的问题是,我可以将读取请求头的逻辑注入到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()方法并检查这些头文件,但在WebAPI中,我不能重写它
这方面的最佳实践是什么?您也可以在web api中使用MVC中的操作过滤器,解决从请求中读取公共信息和标题信息的问题 我不太熟悉Ninject,但在上面的文章中,它确实展示了如何为动作过滤器执行IoC,我使用Structuremaps,并且在动作过滤器/属性的情况下通过属性注入执行IoC