Asp.net mvc 在每个请求上发送授权标头

Asp.net mvc 在每个请求上发送授权标头,asp.net-mvc,Asp.net Mvc,我们的项目由一个MVC区域和一个API区域组成,MVC区域处理页面的身份验证/授权和呈现,API区域还需要身份验证/授权并向页面发送数据。我们决定对服务器进行无状态处理,因此每个请求都必须包含带有用户凭据的授权头 我使用xhr.setRequestHeader'Authorization'、'Bearer'+authCookie的API调用来实现这一点;在jquery的beforeSend中,我不确定如何在每次单击链接或输入URL时为MVC端执行此操作,请求应包括授权标头。目前我正在应用程序_B

我们的项目由一个MVC区域和一个API区域组成,MVC区域处理页面的身份验证/授权和呈现,API区域还需要身份验证/授权并向页面发送数据。我们决定对服务器进行无状态处理,因此每个请求都必须包含带有用户凭据的授权头


我使用xhr.setRequestHeader'Authorization'、'Bearer'+authCookie的API调用来实现这一点;在jquery的beforeSend中,我不确定如何在每次单击链接或输入URL时为MVC端执行此操作,请求应包括授权标头。目前我正在应用程序_BeginRequest中执行此操作,并设置Request.Headers[Authorization]=Request.Cookies[auth];,但是我希望授权头出现在初始请求中,而不是在请求发送后才加上。

我相信您将无法设置头;当浏览器通过锚定点击将您指向链接时,除非您使用jquery捕获所有锚定点击,否则这似乎有些过分,除非您再次捕获所有表单提交,否则在表单提交Get/Post上也不会发送标题,而杀手是这样的事实


我强烈建议重新考虑您的设计,而不是回答如何在jQuery中执行某些操作,因为基于上述事实,您很可能会遇到技术限制。

。只是澄清一下,jQuery用于在向API发送ajax调用之前附加auth头,而不是用于导航页面。如果我不能为所有请求保留授权标头,那么从请求cookie获取凭据是否是在每个请求上发送凭据的最佳方式?这是我最初做的,但我认为,由于有一个专门用于授权的标题,我应该尝试使用它。您是否使用WebAPI?我的解决方案分为一个API项目,MVC项目可能不是最好的,但我认为如果在同一个项目中使用控制器,则会与控制器发生冲突。对于授权头,我很难使用MVC项目,因为对于API,我只使用ajax调用过,所以我可以在发送请求之前显式设置授权头。如果在中使用名称空间参数,控制器不必冲突。不管怎样,你也可以。因此,除非您使用的是不推荐使用的Windows Auth,否则两个站点没有任何理由不能与simple web.config change.Excellence共享身份验证。谢谢你提供的所有信息。最后一个问题:您能否提供有关简单web.config更改的更多信息?我最大的担忧可能是身份验证/授权的重复,将其拆分为单独的项目。谢谢