ASP.NET - проверить пользователя без входа в систему? - PullRequest
1 голос
/ 21 ноября 2010

Можно ли подтвердить имя пользователя + пароль без входа в систему?Я понимаю, что обычный блок входа в систему будет выглядеть следующим образом:

if (!Page.IsValid)
 return;

if (Membership.ValidateUser(UsernameInput.Text, PasswordInput.Text))
{
    FormsAuthentication.RedirectFromLoginPage(UsernameInput.Text, false);
}
else { [...] }

При вызове Membership.ValidateUser () устанавливается cookie для ответа.

Однако, естьВот некоторые дополнительные проверки, которые я хотел бы выполнить после подтверждения пароля.(Вытащить дату истечения срока действия для этого пользователя, например).

Есть ли способ сделать это без простого вызова FormsAuthentication.SignOut (); после аннулирования страницы?

1 Ответ

3 голосов
/ 22 ноября 2010

Я думаю, что ваше предположение, что Membership.ValidateUser устанавливает cookie, неверно. Я не верю, что это устанавливает куки.

FormsAuthentication.RedirectFromLoginPage устанавливает cookie.

Подумайте об этом с точки зрения разделения интересов:

Членство - это место, где вы храните своих пользователей и пароль, но на самом деле они ничего не знают о сети или файлах cookie.

Аутентификация с помощью форм - это технология, которая позволяет пользователю войти на веб-сайт, но не имеет значения, как вы определяете, действителен ли этот пользователь. Все, что его волнует, - это имя пользователя и настройка / чтение файлов cookie, чтобы пользователю не приходилось входить в систему с каждым запрос.

...