Asp.net mvc 3 C#MVC3和会员资格让我保持登录状态(记住我)
我正在我的应用程序中使用会员资格功能,我有以下登录代码:Asp.net mvc 3 C#MVC3和会员资格让我保持登录状态(记住我),asp.net-mvc-3,c#-4.0,asp.net-membership,Asp.net Mvc 3,C# 4.0,Asp.net Membership,我正在我的应用程序中使用会员资格功能,我有以下登录代码: if (!Membership.ValidateUser(email, password)) { ViewBag.Message = "E-mail ou senha estão incorretos."; return View(); } else { FormsAuthentication.Authenticate(email, password); var keep = keepMeLoggedIn
if (!Membership.ValidateUser(email, password))
{
ViewBag.Message = "E-mail ou senha estão incorretos.";
return View();
}
else
{
FormsAuthentication.Authenticate(email, password);
var keep = keepMeLoggedIn == "true,false" ? true : false;
FormsAuthentication.SetAuthCookie(email, keep);
return Redirect("~/Home/Mural");
}
从昨天到现在,当我再次打开我的应用程序时,我没有登录。。。
我听说当你生成一个持久的cookie时,会话永远不会过期,这是真的吗?我做错了什么?我应该在web.config中添加一些其他信息吗
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="~/Usuario/Login" protection="All" timeout="360" cookieless="UseDeviceProfile" />
</authentication>
有人能帮忙吗
var keep = keepMeLoggedIn == "true,false" ? true : false;
这个代码让我有点担心。然而,我不认为这是造成问题的原因
但是,持久性cookie有一个过期时间(超时),它是由您显示的身份验证标记确定的
会话cookie和持久cookie之间的唯一区别是,如果用户关闭浏览器或超时,会话cookie将过期。持久cookie只有在超时时才会过期
SetAuthCookie的第二个参数是是否创建持久cookie。如果为false,它将是一个会话,如果为true,它将是持久的
这个代码让我有点担心。然而,我不认为这是造成问题的原因
但是,持久性cookie有一个过期时间(超时),它是由您显示的身份验证标记确定的
会话cookie和持久cookie之间的唯一区别是,如果用户关闭浏览器或超时,会话cookie将过期。持久cookie只有在超时时才会过期
SetAuthCookie的第二个参数是是否创建持久cookie。如果为false,则为会话;如果为true,则为持久性。感谢您的回答,TIHan,如果用户选择持久性登录,我希望我的会话永不过期。我该怎么做?我想唯一的办法就是增加超时时间。只要几分钟,26280000就是50年。我认为这是足够的时间谢谢你的回答TIHan,如果用户选择永久登录,我希望我的会话永远不会过期。我该怎么做?我想唯一的办法就是增加超时时间。只要几分钟,26280000就是50年。我认为这是足够的时间