首页 > 解决方案 > HttpClient 发布到授权角色属性操作

问题描述

如何从归因于的 mvc 操作中发布/获取

[Authorize(Roles = "Admin,Supervisor")]?

这是我的行动:

[AcceptVerbs("Get", "Post")]
[Authorize(Roles = "Operator,Supervisor")]
public string SortManageStocks(string sorter = "StockId", bool isAscending = false, string searchString = "", int currentPage = 1, int itemsPerPage = 50, bool showAll = false)
{
    StockViewModel viewModel = new StockViewModel();
    try
    {
    ...............

当我通过 mvc 方式调用它时,它运行良好,例如:

string result = SortManageStocks(sorter, isAscending, searchString, currentPage, itemsPerPage, showAll);

如何使用 httpclient 方法发布/执行此操作?

这是我尝试过的:

try
{
    using (var client = new HttpClient())
    {
        var values = new List<KeyValuePair<string, string>>();

        // add values to data for post
        values.Add(new KeyValuePair<string, string>("sorter", "StockId"));
        values.Add(new KeyValuePair<string, string>("isAscending", "false"));
        values.Add(new KeyValuePair<string, string>("searchString", ""));
        values.Add(new KeyValuePair<string, string>("currentPage", "1"));
        values.Add(new KeyValuePair<string, string>("itemsPerPage", "50"));
        values.Add(new KeyValuePair<string, string>("showAll", "true"));

        FormUrlEncodedContent content = new FormUrlEncodedContent(values);

        var result = client.PostAsync("http://localhost:50904/Operator/SortManageStocks", content).Result;
        var response = result.Content.ReadAsStringAsync().Result;

        if (result.StatusCode == HttpStatusCode.Unauthorized)
        {
            var z = "Not authorized";
        }
    }
}

如何通过 httpclient 传递 authorize(roles="") 属性?

标签: c#asp.net-mvcapiasp.net-web-api

解决方案


推荐阅读