Одновременное перенаправление и отправка заголовков в другое приложение - ASP.Net MVC - PullRequest
0 голосов
/ 20 ноября 2018

Я хочу перенаправить систему на централизованный сервер аутентификации, и мне нужно заполнить некоторые параметры в заголовках и полностью перенаправить на сервер аутентификации.Используя веб-клиент или веб-запрос, я должен вернуть значение в ответ на запрос (они работают как слушатель).

Пример запроса на отправку WebClient:

var values = new NameValueCollection();
values["clientId"] = clientId;
values["clientIP"] = currentIP;

byte[] response;
var resultResponse = string.Empty;

using (var client = new WebClient())
{
    try {
            response = client.UploadValues(url, values);
            resultResponse = Encoding.Default.GetString(response);
        }
    catch (WebException e)
        {
            string exception = string.Empty;
            if (e.Status == WebExceptionStatus.ProtocolError)
            {
                exception += ((HttpWebResponse)e.Response).StatusCode;
                exception += ((HttpWebResponse)e.Response).StatusDescription;
            }
        }
    }

Пример веб-запроса

string method = "post";
WebRequest req = WebRequest.Create(uri);
req.ContentType = contentType;
req.Method = method;            
req.Headers.Add("myhead", value);                  
req.ContentLength = jsonDataBytes.Length;
var stream = req.GetRequestStream();
stream.Write(jsonDataBytes, 0, jsonDataBytes.Length);
stream.Close();
var response = req.GetResponse().GetResponseStream();
StreamReader reader = new StreamReader(response);
var respo = reader.ReadToEnd();
reader.Close();
response.Close();
return respo;

Как видно из обоих методов, запросчик отправляет запрос и ожидает получения ответа,Я не могу вернуться к запрашивающей системе, пока не покажу пользователю два вида, не получу имя пользователя и пароли и, наконец, не обработаю информацию.Мне нужно заполнить заголовки в запросе, отправить его на сервер, а также перенаправить на центральный сервер аутентификации.Я много искал и обнаружил, что невозможно публиковать и перенаправлять одновременно.Можете ли вы предложить мне какие-либо другие методы?

...