Re: помогите новичку RedirectFromLoginPage
От: Joker3D Россия http://blog.trunin.com
Дата: 26.03.05 13:00
Оценка: +1
Здравствуйте, Switch, Вы писали:


S>
S>FormsAuthentication.RedirectFromLoginPage(txtUserName.Text,true);
S>


MSDN:
FormsAuthentication.RedirectFromLoginPage Method
Redirects an authenticated user back to the originally requested URL

S>Не переходит на начальную страницу форму после успешной аутентефикации.

S>В VisualStudio начальная страница установлена, в IIS-е тоже.

Т.е. метод пересылает не на начальную, а на запрошенную.
Konstantin Trunin
http://blog.trunin.com — эффективное управление людьми, проектами, собой
помогите новичку RedirectFromLoginPage
От: Switch Украина  
Дата: 26.03.05 11:15
Оценка:
FormsAuthentication.RedirectFromLoginPage(txtUserName.Text,true);



Не переходит на начальную страницу форму после успешной аутентефикации.
В VisualStudio начальная страница установлена, в IIS-е тоже.

Что я могу делать не так ?

Заранее благодарен
Re[2]: помогите новичку RedirectFromLoginPage
От: Switch Украина  
Дата: 27.03.05 05:01
Оценка:
Здравствуйте, Joker3D, Вы писали:

JD>Здравствуйте, Switch, Вы писали:



S>>
S>>FormsAuthentication.RedirectFromLoginPage(txtUserName.Text,true);
S>>


JD>MSDN:

JD>FormsAuthentication.RedirectFromLoginPage Method
JD>Redirects an authenticated user back to the originally requested URL

S>>Не переходит на начальную страницу форму после успешной аутентефикации.

S>>В VisualStudio начальная страница установлена, в IIS-е тоже.

JD>Т.е. метод пересылает не на начальную, а на запрошенную.


Это понятно, но дело в том что он не пересылает на запрошенную страницу
RE: Re[2]: помогите новичку RedirectFromLoginPage
От: Аноним  
Дата: 27.03.05 10:29
Оценка:
Это понятно, но дело в том что он не пересылает на запрошенную страницу
Ну а куда ж он тогда пересылает?
Из предписания Верховного Суда:
1) Главе ЦИК — признать выборы недействительными...
2) Компьютерному отделу ЦИК — удалить Януковича из папки Избранное...


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[3]: помогите новичку RedirectFromLoginPage
От: Switch Украина  
Дата: 27.03.05 12:19
Оценка:
Здравствуйте, Аноним, Вы писали:


А>Это понятно, но дело в том что он не пересылает на запрошенную страницу

А>Ну а куда ж он тогда пересылает?
Никуда не пересылает.
Обновляеться страница Login.aspx ( на которой находиться форма аутентефикации) и всё.
Re[3]: помогите новичку RedirectFromLoginPage
От: Аноним  
Дата: 27.03.05 12:35
Оценка:
1. авторизация не произошла (неправильный логин)
2. Login.aspx и есть страница по-умолчанию

Скорее всего первое, 2-е — бредово.

И вообще — код покажи.

Real programmers don't comment their code. If it was hard to write, it should be hard to understand.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: помогите новичку RedirectFromLoginPage
От: Ximan  
Дата: 28.03.05 07:46
Оценка:
Здравствуйте, Switch, Вы писали:


S>
S>FormsAuthentication.RedirectFromLoginPage(txtUserName.Text,true);
S>



S>Не переходит на начальную страницу форму после успешной аутентефикации.

S>В VisualStudio начальная страница установлена, в IIS-е тоже.

S>Что я могу делать не так ?


S>Заранее благодарен


FormsAuthentication.RedirectFromLoginPage(txtUserName.Text,true);

Данный код лишь записывает страницу куда необходиомо редиректица.
Добавьте "return;"
FormsAuthentication.RedirectFromLoginPage(txtUserName.Text,true);
return;
Re[4]: помогите новичку RedirectFromLoginPage
От: Switch Украина  
Дата: 28.03.05 07:55
Оценка:
Здравствуйте, Аноним, Вы писали:

А>1. авторизация не произошла (неправильный логин)

А>2. Login.aspx и есть страница по-умолчанию

А>Скорее всего первое, 2-е — бредово.


А>И вообще — код покажи.

Вот :

— запрашиваемая страница

http://localhost/smp/AdminForm.aspx

— редеректит
http://localhost/smp/LogIn.aspx?ReturnUrl=%2fsmp%2fAdminForm.aspx

— код

    private void enterButton_Click(object sender, System.EventArgs e)
    {
        DBGateway.User user = CheckPassword(this.txtUserName.Text,
                        this.txtPassword.Text);
        if (user != null)
        {
            Session.Add("user",user);
            FormsAuthentication.RedirectFromLoginPage(txtUserName.Text,true);                        return;
        }
    }


— после обработки страница логина прегружается соотвественно с пустыми полями
а url остаеться http://localhost/smp/LogIn.aspx?ReturnUrl=%2fsmp%2fAdminForm.aspx
Re[4]: помогите новичку RedirectFromLoginPage
От: Козьма Прутков Россия  
Дата: 28.03.05 08:06
Оценка:
Здравствуйте, Switch, Вы писали:

S>Никуда не пересылает.

S> Обновляеться страница Login.aspx ( на которой находиться форма аутентефикации) и всё.

смотрим MSDN:
               if (FormsAuthentication.Authenticate(UserName.Text, UserPass.Text)) 
               {
                  // Return to the originally requested URL.
                  FormsAuthentication.RedirectFromLoginPage(UserName.Text, Remember.Checked);
               }
               else 
               {
                  Msg.Text = "Invalid Credentials: Please try again";
               }


Что бы это могло значть? А то, что RedirectFromLoginPage нужно звать ПОСЛЕ того, как пользователь аутентифицирован. А у тебя получается, что ты просишь передиректить, тебя пытаются передиректить, но вот беда — пользователь не аутентифицирован, и ты возвращаешься на login.aspx.
Вот работающий пример:

            if (this.IsValid)
            {
                try
                {
                    IAuthentication auth = UserServices.GetAuthenticationModule();
                    bool isAuthenticated = auth.Authenticate(userNameTextBox.Text, 
                        passwordInput.Value);

                    if(isAuthenticated == true)
                    {
                        //Create the ticket
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
                            1, userNameTextBox.Text, DateTime.Now, 
                            DateTime.Now.AddYears(1), false, userData);

                        //Encrypt the ticket
                        String encryptedTicket = FormsAuthentication.Encrypt(authTicket);
        
                        //Create a cookie, and then add the encrypted ticket to the cookie as data
                        HttpCookie authCookie = new HttpCookie(
                            FormsAuthentication.FormsCookieName, encryptedTicket);

                        //Add the cookie to the outgoing cookies collection
                        Response.Cookies.Add(authCookie);       

                        FormsAuthentication.RedirectFromLoginPage(UserName.Text, false);
                    }
                    else
                    {
                        // error messages etc
                    }
                }
                catch(System.Exception ex)
                {
                    throw new TechnicalException(13002, 
                        ErrorLevel.Error, ex);
                }
            }
Да хранит вас господь в сухом прохладном месте...
Re[5]: помогите новичку RedirectFromLoginPage
От: Switch Украина  
Дата: 28.03.05 08:31
Оценка:
Здравствуйте, Козьма Прутков, Вы писали:


КП>                    IAuthentication auth = UserServices.GetAuthenticationModule();


Наверное имели в виду


IAuthenticationModule auth = UserServices.GetAuthenticationModule();


Только что такое


UserServices.GetAuthenticationModule();


MSDN ничего не ответил...
Re[6]: помогите новичку RedirectFromLoginPage
От: Козьма Прутков Россия  
Дата: 28.03.05 10:06
Оценка:
Здравствуйте, Switch, Вы писали:

S>Только что такое

S>
S>UserServices.GetAuthenticationModule();
S>


S>MSDN ничего не ответил...


Не удивительно: это фрагмент кода нашего приложения
Да хранит вас господь в сухом прохладном месте...
Re[6]: помогите новичку RedirectFromLoginPage
От: aset  
Дата: 28.03.05 13:49
Оценка:
Здравствуйте, Switch, Вы писали:

S>Здравствуйте, Козьма Прутков, Вы писали:



S>
КП>>                    IAuthentication auth = UserServices.GetAuthenticationModule();
S>


S>Наверное имели в виду



S>
S>IAuthenticationModule auth = UserServices.GetAuthenticationModule();
S>


S>Только что такое



S>
S>UserServices.GetAuthenticationModule();
S>


S>MSDN ничего не ответил...


Вместо auth.Authenticate(...) вставьте свою процедуру аутентификации
Re[5]: помогите новичку RedirectFromLoginPage
От: Аноним  
Дата: 01.04.05 11:15
Оценка:
Здравствуйте, Switch, Вы писали:

S>Здравствуйте, Аноним, Вы писали:


А>>1. авторизация не произошла (неправильный логин)

А>>2. Login.aspx и есть страница по-умолчанию

А>>Скорее всего первое, 2-е — бредово.


У тебя стопроцентно рабочий код, чтобы не говорили соседи по ветке. Твоя проблема в том, что авторизация действительно не происходит, т.е. не сохраняется авторизационный куки, проверь, разрешены ли они(куки) на твоем компе или может их еще где-нить рубят... а FormsAuthentication.Authenticate() авторизует пользователя на основе инфы из web.config:

<authentication mode="Forms">
            <forms loginUrl="login.aspx">
                <credentials passwordFormat="Clear">
                    <user name="user" password="password" />
                </credentials>
            </forms>
        </authentication>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.