C# asp:LoginStatus在一段时间后自动注销
我在母版页上有C# asp:LoginStatus在一段时间后自动注销,c#,asp.net,C#,Asp.net,我在母版页上有asp:LoginStatus,在我的login.aspx.cs文件中有login按钮,该按钮具有所选的事件处理程序 protected void btLogIn_Click(object sender, EventArgs e) { int chk = _dbobj.CheckingIfUserExists(tbUserName_login.Text, tbPassword_login.Text); if (chk != 0)
asp:LoginStatus
,在我的login.aspx.cs
文件中有login按钮,该按钮具有所选的事件处理程序
protected void btLogIn_Click(object sender, EventArgs e)
{
int chk = _dbobj.CheckingIfUserExists(tbUserName_login.Text, tbPassword_login.Text);
if (chk != 0)
{
Response.Cookies["UserName"].Value = tbUserName_login.Text.Trim();
lbUserNameValidation_logIn.Text = "";
Response.Redirect("Home.aspx", false);
if (chbRemember_login.Checked)
{
Response.Cookies["UserName"].Expires = DateTime.Now.AddDays(1);
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(tbUserName_login.Text, true);
}
else
{
Response.Cookies["UserName"].Expires = DateTime.Now.AddDays(-1);
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(tbUserName_login.Text, false);
}
}
else
............
当我未选中记住复选框而登录时,它仍会记住,并且在关闭和打开页面后不会设置loggedout。请帮助我解决此问题。使用
page.Session.Timeout
属性设置会话超时
.net的默认超时为20minites
有关.NET中的HttpSessionState.Timeout属性,请参阅此链接
希望对您有所帮助。将Expires属性设置为MinValue将使其成为会话Cookie
cookie.Expires = DateTime.MinValue
过期会话意味着cookie在打开带有页面的浏览器窗口时仍然有效