【发布时间】:2017-12-14 13:15:52
【问题描述】:
我有一个在本地网络(内联网)上运行良好的 web api 应用程序,只要调用没有授权标头,它也可以在互联网上运行。
所有带有授权标头的调用都会出现以下错误:
403 Forbidden ( 服务器拒绝了指定的统一资源 定位器 (URL)。请联系服务器管理员。
到目前为止我尝试了什么
我添加了包
Install-Package Microsoft,.AspNet.WebApi.Cors
当我添加 Authorization : Bearer The Token 时,该方法返回 403
如何解决这个问题
【问题讨论】:
-
您是否在标头中发送令牌信息?
-
如果调用是从 Web 浏览器到服务器,请使用 Chrome 开发者工具,“网络”选项卡(或者其他浏览器也有)查看确切的 HTTP 请求内容是什么(包括标题),然后请在此处发布。
-
是的,我正在使用 post man 进行测试,并且令牌调用有效并且它返回 access_token,但是当我将 access_token 添加到标头时,方法
api/loaddata会返回 403,所有调用都没有授权工作正常 -
我已经尝试过该解决方案,我认为问题不在于启用 cors,因为如果我调用没有
[Authorize]的任何方法,它工作正常,只有用[Authorize]装饰的方法他们返回 403。它们在本地网络上工作,但在真实 ip 上失败
标签: c# iis asp.net-web-api