как выйти из моего приложения asp.net? - PullRequest
3 голосов
/ 08 марта 2012

Я использую пользовательский код для входа и выхода пользователя из моего веб-приложения. при нажатии кнопки login выполняется приведенный ниже код:

if (Membership.ValidateUser(txtUserEmail.Text, txtUserPass.Text))
{
    HttpContext.Current.Profile.Initialize(txtUserEmail.Text.Trim(), true);
}

Затем я проверяю профиль. Имя пользователя перед инициализацией каждой страницы, чтобы проверить, вошел ли пользователь в систему или нет. Но теперь я не знаю, что делать, чтобы выйти из системы, чтобы профиль был пустым или что-то в этом роде. Я пытаюсь все это по нажатию кнопки logout :

protected void lnkBtnLogout_Click(object sender, EventArgs e)
{
Session.Abandon();
Request.Cookies.Clear();
FormsAuthentication.SignOut();
var p = HttpContext.Current.Profile;
Response.Redirect("/Default.aspx");
}

Я использую переменную p только для того, чтобы проверить, был ли профиль сброшен или нет, но он все еще имеет все значения вошедшего в систему пользователя. Итак, что я должен сделать, чтобы сбросить профиль и выйти из системы пользователя ???

1 Ответ

2 голосов
/ 09 марта 2012

Сразу после SignOut () сделать перенаправление с остановкой чего-либо еще, чтобы страница перестала обновлять что-либо еще.

Так будет код.

protected void lnkBtnLogout_Click(object sender, EventArgs e)
{
  Session.Abandon();
  Request.Cookies.Clear();
  FormsAuthentication.SignOut();
  Response.Redirect("/Default.aspx", true);
}

После проверки перенаправленияесли использование все еще входит в систему. Пользователь не выходит из системы после вызова SignOut, но после завершения и очистки окончательного файла cookie и загрузки следующей страницы.

...