2013-07-18 2 views
2

Когда я убиваю сеанс и снова возвращаюсь через его url, он показывает мое имя пользователя. Я пробовал session.abandon(), session.RemoveAll(), session.Clear() .... Помощь будет оценена. Спасибо заранее. Привет, ребята Спасибо. Но когда я иду через браузер кнопку назад код работает нормально, но при вставке доцент URL manually.Here это кодЗавершение сеанса Asp.net

public partial class products : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (Session["full_name"] == null) 
     { 
      Response.Write("<script language='javascript'>alert('Your are Logged out.Please sign In to Continue.');location='Log-In.aspx'</script>"); 
     } 
     else 
     { 
      Response.Write("hi "+Session["full_name"].ToString()); 
     } 
    } 
    protected void LinkButton1_Click(object sender, EventArgs e) 
    { 
     Session.Remove("full_name"); 
     Session.Abandon(); 
     Response.Write("<script language='javascript'> alert('logged out successfully');location='Log-In.aspx'</script>"); 
    } 
} 

Надеюсь, это поможет

+4

Вы вернетесь с помощью кнопки браузера? – Adil

+0

Можете ли вы уточнить вопрос с кодом входа? – Damith

+2

Adil is right ... Проблема с историей браузера ... Она забирает вас только на предыдущую страницу. –

ответ

2

ли вы wan't выйти из пользователя? В этом случае убийство сеанса не будет работать для вас. Если вы используете проверку подлинности с помощью форм, вы можете выполнить способ FormsAuthentication.SignOut для этого.

0

Поместите этот код на свою страницу Load, где вы выходите из системы.

Response.Clear(); 
    Response.Cache.SetExpires(DateTime.Now.AddMinutes(-1)); 
    Response.Cache.SetNoStore(); 
    Response.Cache.SetCacheability(HttpCacheability.NoCache); 

И вызовите любой из вышеуказанных методов, упомянутых в вашем вопросе, чтобы убить сеанс.

+0

Ни один из этих методов не убивает сеанс. – Alexander

+0

@ Александр Конечно, эти методы не предназначены для убийств. я предложил ему для истечения срока действия браузера браузера. После использования этого фрагмента он может вызвать любой из методов для завершения сеанса. –

+0

Я боюсь, что эти функции не будут полезны для функциональности браузера обратной кнопки. Это может стать религиозным вопросом, но, на мой взгляд, веб-приложение должно поддерживать кнопку «Назад». Потому что он там. – Alexander

0

Используйте этот код. Надеемся, что проблема будет решена.

//old authentication, kill it 
FormsAuthentication.SignOut(); 
//or use Response.Redirect to go to a different page 
FormsAuthentication.RedirectToLoginPage("Session=Expired"); 
HttpContext.Current.Response.End();