Я хочу перенаправить систему на централизованный сервер аутентификации, и мне нужно заполнить некоторые параметры в заголовках и полностью перенаправить на сервер аутентификации.Используя веб-клиент или веб-запрос, я должен вернуть значение в ответ на запрос (они работают как слушатель).
Пример запроса на отправку 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;
Как видно из обоих методов, запросчик отправляет запрос и ожидает получения ответа,Я не могу вернуться к запрашивающей системе, пока не покажу пользователю два вида, не получу имя пользователя и пароли и, наконец, не обработаю информацию.Мне нужно заполнить заголовки в запросе, отправить его на сервер, а также перенаправить на центральный сервер аутентификации.Я много искал и обнаружил, что невозможно публиковать и перенаправлять одновременно.Можете ли вы предложить мне какие-либо другие методы?