当前位置:   article > 正文

c# forbidden.html,C#Web API方法返回403 Forbidden

webapi 拦截403

在我的MVC应用程序中,我使用HMAC身份验证滤波器向Web API服务发出调用。我的Get(GetMultipleItemsRequest)有效,但我的Post没有。如果我关闭HMAC认证过滤,所有这些过滤器都可以工作。我不确定为什么POSTS不起作用,但GETs可以。

我做的GET电话从我这样的代码(这一个工程):

var productsClient = new RestClient(System.Configuration.ConfigurationManager.AppSettings["WebApiUrl"],

"xxxxxxxxxxxxxxx", true);

var getManyResult = productsClient.GetMultipleItemsRequest("api/Role").Result;

我做出POST调用从我这样的代码(这个只有当我关掉HMAC作品):

private RestClient profileClient = new RestClient(System.Configuration.ConfigurationManager.AppSettings["WebApiUrl"],

"xxxxxxxxxxxxxxx", true);

[HttpPost]

public ActionResult ProfileImport(IEnumerable files)

{

//...

var postResult = profileClient.PostRequest("api/Profile", newProfile).Result;

}

我RESTClient实现建立这样的:

public class RestClient where T : class

{

//...

private void SetupClient(HttpClient client, string methodName, string apiUrl, T content = null)

{

const string secretTokenName = "SecretToken";

client.BaseAddress = new Uri(_baseAddress);

client.DefaultRequestHeaders.Accept.Clear();

client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

if (_hmacSecret)

{

client.DefaultRequestHeaders.Date = DateTime.UtcNow;

var datePart = client.Defaul

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/539685
推荐阅读
相关标签
  

闽ICP备14008679号