powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как правильно настроить авторизацию к http-сервису в MVC проекте
1 сообщений из 1, страница 1 из 1
Как правильно настроить авторизацию к http-сервису в MVC проекте
    #39217114
AspUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Подскажите пожалуйста как решить проблему с авторизацией или как правильно ее реализовать. Я знаю атрибут [Authorize] , но если я его применяю не могу обратиться к сервису таким кодом которым я привык обращаться к сторонним http-сервисам требующих авторизацию. Код обращения к сервису:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
protected void Button1_Click(object sender, EventArgs e)
        {
            string Status = "Успешно!";

            StringBuilder sb = new StringBuilder();
            sb.Append("Title=");
            sb.Append("Description=");
            sb.Append("Keywords=");
            sb.Append("productName=");

            string UrlData = "http://localhost/TestMVC/Service/PostData";

            System.Net.WebRequest request = System.Net.WebRequest.Create(UrlData);
            request.Method = "POST";
            byte[] byteArray = Encoding.Default.GetBytes(sb.ToString());//определяем что передаем в байтах 
            Stream newStream = request.GetRequestStream();
            newStream.Write(byteArray, 0, byteArray.Length);
            newStream.Close();
            request.Credentials = new System.Net.NetworkCredential("http", "111");

            try
            {
                System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
                using (StreamReader stream = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
                {
                    Response.Write(stream.ReadToEnd());
                }
            }
            catch (WebException err)
            {
                Status = "Ошибка доступа к сервису:" + err.Message;
                Response.Write(Status);
            }

        }



Применяя атрибут [Authorize] при обращении к сервису получаю Ошибка доступа к сервису:Удаленный сервер возвратил ошибку: (404) Не найден. Без атрибута все работает.

http-сервис реализован в MVC проекте как :
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
 //[Authorize]
    public class ServiceController : Controller
    {
        [HttpPost]
        public string PostData()
        {
            int Len = (int)Request.InputStream.Length;
            byte[] value = new byte[Len];
            Request.InputStream.Read(value, 0, Len);

            var fileName = "D:/1.txt";//путь расположения файла
            var file = new FileStream(fileName, FileMode.Create);
            file.Write(value, 0, Len);
            file.Close();

            if (value != null)
            {
                return "Обработка вх. данных " + value.Length + " завершена!";
            }
            return "Ok! public string PostData  Request.InputStream.Length=" + Request.InputStream.Length;
        }

    }


в Web.config есть
Код: xml
1.
2.
3.
4.
5.
6.
7.
 <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880">
        <credentials passwordFormat="Clear">
          <user name="http" password="111" />
        </credentials>
      </forms>
    </authentication>
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как правильно настроить авторизацию к http-сервису в MVC проекте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]