FormsAuthentication的过期问题 你可以弄个 session如果FormsAuthentication.SetAuthCookie设置登录成功就给session赋值,你打开浏览器的时候判断这个session是否为null,如果为null就设置FormsAuthentication.SetAuthCookie过期 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 或者不要给System.Web.Security.FormsAuthenticationTicket设置过期时间 不要给System.Web.Security.FormsAuthenticationTicket设置过期时间 protected void btnLogin_Click(object sender, EventArgs e) { var ticket = new System.Web.Security.FormsAuthenticationTicket(1, this.txtName.Text, DateTime.Now, DateTime.Now.AddDays(1), false, "USER"); var encryptedTicket = System.Web.Security.FormsAuthentication.Encrypt(ticket); if (Request.Cookies[System.Web.Security.FormsAuthentication.FormsCookieName] != null) Request.Cookies.Remove(System.Web.Security.FormsAuthentication.FormsCookieName); var loginIdentify = new HttpCookie(System.Web.Security.FormsAuthentication.FormsCookieName); // loginIdentify.Expires = DateTime.Now.AddDays(1); loginIdentify.Value = encryptedTicket; Response.AppendCookie(loginIdentify); if (!String.IsNullOrEmpty(Request.QueryString["ReturnUrl"]) && !Request.QueryString["ReturnUrl"].ToLower().Contains("profile")) Response.Redirect(Server.UrlDecode(Request.QueryString["ReturnUrl"])); else Response.Redirect(System.Web.Security.FormsAuthentication.DefaultUrl); }loginIdentify.Expires = DateTime.Now.AddDays(1);注释掉就关闭浏览器就过期了,自己用这个代码试试 <html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body><form id="Form1" runat="server"> <div class="top"> </div> <div class="dashboardAll"> <div class="loginBox"> <div class="loginList"> <p><asp:TextBox ID="txtName" runat="server" CssClass="loginInput" Text="Username or email" onfocus="if(value=='Username or email') {value=''}" onblur="if (value=='') {value='Username or email'}"></asp:TextBox> <asp:RequiredFieldValidator ID="rfvName" display="Dynamic" ControlToValidate="txtName" style="color:Red;" runat="server" ErrorMessage="You can't leave this empty."></asp:RequiredFieldValidator> </p> <p class="pt16 clear"><asp:TextBox ID="txtPwd" runat="server" CssClass="loginInput" TextMode="Password"></asp:TextBox> <asp:RequiredFieldValidator ID="rfvPwd" display="Dynamic" ControlToValidate="txtPwd" style="color:Red;" runat="server" ErrorMessage="You can't leave this empty."></asp:RequiredFieldValidator> </p> <p class="pt16 clear"><asp:CheckBox ID="CheckBoxRememberMe" runat="server" /><span class="pl10">Remember me</span><span class="ml20"> <asp:Button ID="btnLogin" runat="server" CssClass="blueBtn w100" Text="Log in" onclick="btnLogin_Click" /></span></p> </div> </div> </div> </form></body></html>这个是前台,上面的是后台 已发[email protected] 求数据类型 上周对我的网站进行了一些优化,包括gzip压缩和Client缓存等,请大家帮我看看性能如何 关于个性化模型的保存[高分.顶者有分] vs2008的web项目,怎么调试的时候无法修改代码? win2003 IIS6下新建网站? ■■■用css绘制细边框表格,怎么画出来的框这么粗阿■■■ datagrid 读出日期都带有时间,如何只有日期? 一个简单问题,请教一下! crystal report---选定显示日期范围内的数据 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。 国产的MVC框架,欢迎吐槽! 求高手来指点一二、、、
{
var ticket = new System.Web.Security.FormsAuthenticationTicket(1, this.txtName.Text, DateTime.Now, DateTime.Now.AddDays(1), false, "USER");
var encryptedTicket = System.Web.Security.FormsAuthentication.Encrypt(ticket); if (Request.Cookies[System.Web.Security.FormsAuthentication.FormsCookieName] != null)
Request.Cookies.Remove(System.Web.Security.FormsAuthentication.FormsCookieName); var loginIdentify = new HttpCookie(System.Web.Security.FormsAuthentication.FormsCookieName);
// loginIdentify.Expires = DateTime.Now.AddDays(1);
loginIdentify.Value = encryptedTicket; Response.AppendCookie(loginIdentify);
if (!String.IsNullOrEmpty(Request.QueryString["ReturnUrl"]) && !Request.QueryString["ReturnUrl"].ToLower().Contains("profile"))
Response.Redirect(Server.UrlDecode(Request.QueryString["ReturnUrl"]));
else
Response.Redirect(System.Web.Security.FormsAuthentication.DefaultUrl);
}loginIdentify.Expires = DateTime.Now.AddDays(1);注释掉就关闭浏览器就过期了,自己用这个代码试试
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form id="Form1" runat="server">
<div class="top">
</div>
<div class="dashboardAll">
<div class="loginBox">
<div class="loginList">
<p><asp:TextBox ID="txtName" runat="server" CssClass="loginInput" Text="Username or email" onfocus="if(value=='Username or email') {value=''}" onblur="if (value=='') {value='Username or email'}"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvName" display="Dynamic" ControlToValidate="txtName" style="color:Red;" runat="server" ErrorMessage="You can't leave this empty."></asp:RequiredFieldValidator>
</p>
<p class="pt16 clear"><asp:TextBox ID="txtPwd" runat="server" CssClass="loginInput" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvPwd" display="Dynamic" ControlToValidate="txtPwd" style="color:Red;" runat="server" ErrorMessage="You can't leave this empty."></asp:RequiredFieldValidator>
</p>
<p class="pt16 clear"><asp:CheckBox ID="CheckBoxRememberMe" runat="server" /><span class="pl10">Remember me</span><span class="ml20">
<asp:Button ID="btnLogin" runat="server" CssClass="blueBtn w100" Text="Log in" onclick="btnLogin_Click" /></span></p>
</div>
</div>
</div>
</form>
</body>
</html>这个是前台,上面的是后台