Arc*_*ian 4 c# asp.net-mvc session-state
我想知道在MVC中处理和实现会话超时的最佳方法.我已经设置了我的应用程序,以便在用户进行身份验证时可以处理"RememberMe".我还存储了一些变量Context.Session["myvar"];
我的会话过期时遇到问题,但我的身份验证cookie尚未过期.
我的第一个想法是检查关于行动请求的会话统计数据; 但这似乎是很多代码.是否有一个检查会话状态的好地方?处理会话超时的其他方法有哪些?我想在会话有timedout时将用户重定向到登录页面.或者如果用户仍然登录,则重新加载会话变量.
Dar*_*rov 11
是否有一个检查会话状态的好地方
当然,自定义Authorize属性看起来很棒:
public class MyAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var authroized = base.AuthorizeCore(httpContext);
if (!authroized)
{
// the user is not authenticated or the forms authentication
// cookie has expired
return false;
}
// Now check the session:
var myvar = httpContext.Session["myvar"];
if (myvar == null)
{
// the session has expired
return false;
}
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5361 次 |
| 最近记录: |