2

当我终止会话并通过它的 url 再次返回时,它会显示我的用户名。我已经尝试过session.abandon(),,session.RemoveAll()....session.Clear()帮助将不胜感激。提前致谢。嘿伙计们谢谢。但是当我通过浏览器后退按钮时,代码可以正常工作,但在手动粘贴 URL 时会出现问题。这是代码

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

3 回答 3

2

你不想注销用户吗?在这种情况下,终止会话对您不起作用。如果您使用表单身份验证,则可以执行FormsAuthentication.SignOut方法来执行此操作。

于 2013-07-18T09:12:51.157 回答
0

将此代码放在您Load要退出的页面事件中。

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

并调用您问题中提到的任何上述方法来终止会话。

于 2013-07-18T09:28:11.640 回答
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();
于 2013-07-18T09:34:20.460 回答