Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Логин в Asp.Net с другого Asp.Net(HTTP), программная аутенфикация пользователя  
:(
    Опции темы
Сарт
Дата 29.7.2008, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: нет
Всего: 0



Всем привет.
Есть сайт ASP.Net 2.0, на нем используется стандартный Login. Нужно провести HTTP-аутенфикацию с другого сайта. (Пользователь должен быть одновременно залогинен и там и там).
Нашел статью на gotdotnet, там примеря аутенфикации на яндексе. Все гуд, все работает. Однако!
На яндексе используется ссылка вида "....login=....password=..."
Где найти подобную ссылку для моего случая честно говоря не нашел. 
Сделал опираясь на Космос и данные листера - послало куда подальше, не аутенфицирует=(
Код программной регистрации
Код

HttpWebResponse result = null;
        HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://localhost:50832/Site_Video/Default.aspx");
        req.Method = "POST";
        req.ContentType = "application/x-www-form-urlencoded";

        byte[] SomeBytes = null;
        string FormParams = "ctl00%24LoginView1%24Login1%24UserName=admin&ctl00%24LoginView1%24Login1%24Password=12345&ctl00%24LoginView1%24Login1%24LoginButton=Enter&__VIEWSTATE=%2FwEPDwULLTEwMDUyNjYzMjhkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBSJjdGwwMCRMb2dpblZpZXcxJExvZ2luMSRSZW1lbWJlck1lfoJ%2BFQ%2FClkcW9Xzh5m5TZPApjbQ%3D&__EVENTVALIDATION=%2FwEWBQLP6ZK2CwL8mvnKDALTtbTsDAKrgM0PAvP885oLEjx9X1Z57ME6VXKNx%2Fizt3lzgHo%3D";
        SomeBytes = Encoding.UTF8.GetBytes(FormParams);
        req.ContentLength = SomeBytes.Length;
        
        Stream newStream = req.GetRequestStream();
        newStream.Write(SomeBytes, 0, SomeBytes.Length);
        newStream.Close();
        result = (HttpWebResponse)req.GetResponse();
        string[] cookieVal = null;
        
        if (result.Headers["Set-Cookie"] != null)
            cookieVal = result.Headers["Set-Cookie"].Split(new char[] { ',' });

        Stream ReceiveStream = result.GetResponseStream();
        Encoding encode = Encoding.GetEncoding("utf-8");
        StreamReader sr = new StreamReader(ReceiveStream, encode);
        string answer = sr.ReadToEnd();
        sr.Close();
        result.Close();
        CookieContainer cookie = new CookieContainer();
        foreach (string cook in cookieVal)
        {
            string[] cookie1 = cook.Split(new char[] { ';' });
            if (cookie1.Length < 2)
                continue;
            string name = cookie1[0].Split(new char[] { '=' })[0];
            string value = cookie1[0].Split(new char[] { '=' })[1];

            cookie.Add(new Cookie(name, value, "/", "DNS"));
                      
            
        }
        HttpWebRequest req1 = (HttpWebRequest)HttpWebRequest.Create("http://localhost:50832/Site_Video/VideoBase.aspx");
        //req1.UserAgent = "Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0)";
        //Вот оно - важное дополнение.
        req1.CookieContainer = cookie;
        req1.Method = "GET";
      //  req1.AllowAutoRedirect = false;
        HttpWebResponse result1 = (HttpWebResponse) req1.GetResponse();
        Stream ReceiveStream1 = result1.GetResponseStream();
        StreamReader sr2 = new StreamReader( ReceiveStream1, encode );
        string html = sr2.ReadToEnd();
        result1.Close();
        Response.Write(html);



листинги header-ов программной(programm) и ручной(manual) аутенфикация в аттаче

Хелп=)

Это сообщение отредактировал(а) Сарт - 29.7.2008, 18:31

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  listings.rar 7,36 Kb
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0357 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.