2012-01-30 2 views
1

У меня есть сайт, на котором используется FormsAuthentication, когда пользователь входит на сайт. Целевая страница - home.aspx. Поэтому, когда пользователь переходит на сайт www.mywebsite.com, перейдите на страницу входа.Ошибка входа в систему с помощью FormsAuthentication в asp.net

По какой-то причине пользователь вводит идентификатор пользователя и pwd, затем нажмите кнопку «Вход», страница будет отправлена, а поля userID и pwd будут опущены, а страница входа в систему снова появится (ни одно сообщение не отображается, что идентификатор пользователя или pwd недействителен).

Когда пользователь вводит эту информацию во второй раз, они могут войти на сайт.

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

+0

Вы делаете некоторые переадресации перед входом в систему? Проверьте «ReturnUrl» в URL-адресе, это происходит, когда Login.aspx находится в 'ReturnUrl' –

+0

Немного больше информации было бы хорошо; например is home.aspx страница входа в систему, или у вас есть отдельная? Используются ли имя пользователя и пароль только на странице входа? Разрешите ли FormsAuthentication выполнять свою работу по умолчанию, связанную с перенаправлением, и аналогично - или ваш код перенаправляется? Что такое перенаправление потока (например, home.aspx - это страница по умолчанию в IIS, весь сайт, кроме login.aspx, защищен формами-auth; forms-auth отправляет пользователя в login.aspx и т. Д.). –

+0

@GustavoFreddo ну, целевая страница home.aspx. Поэтому, когда пользователь набирает www.mywebpage.com, я предполагаю, что IIS отправляется на www.mywebpage.com/home.aspx -> login.aspx -> home.aspx .... правильно? – Troy

ответ

0

Может быть Визуальная вопрос студии, я была точно такая же проблема с моим решением:

protected void lkbSignIn_Click(object sender, EventArgs e) 
    { 
     if (FormsAuthentication.Authenticate(txtUsername.Text, txtPassword.Text)) 
     { 

Поставив точку останова на заявление линии if остановил странное поведение с полностью происходит.

Кроме того, когда он был развернут в IIS и запущен как подходящий веб-сайт, этого также не произошло, несмотря на то, что он использовал точно такой же исходный код.

Смежные вопросы