我有一张User
桌子。我正在使用Forms
身份验证并具有以下登录代码:
public JsonResult LogOn(FormCollection form)
{
var agent = SiteUserRepository.CheckAgent(form["Email"], form["Password"]);
if (agent == null)
return Json(new
{
IsSuccess = false,
Message = "Wrong email or password"
});
SiteUserRepository.UpdateLastLogon(agent.Email);
FormsAuthentication.SetAuthCookie(agent.Email, true);
ApplicationSession.CurrentUser = agent;
return Json(new
{
IsSuccess = true
});
}
这ApplicationSession
是我的对象包装器Session
。
public static class ApplicationSession
{
private const string _currentUser = "CurrentUser";
public static SiteUser CurrentUser
{
get
{
var user = HttpContext.Current.Session[_currentUser];
if (user != null)
return (SiteUser)user;
return null;
}
set
{
HttpContext.Current.Session[_currentUser] = value;
}
}
}
会话超时等于 1440(24 小时)。我需要这个值。例如用户在网站上登录。然后我从数据库中删除这个用户。并且用户将通过身份验证(当然,如果他们不单击注销)。解决这个问题的最佳方法是什么?