asp.net-mvc – MVC会话过期而不是身份验证
发布时间:2020-12-30 18:01:07 所属栏目:asp.Net 来源:互联网
导读:我正在开发一个C#MVC应用程序,似乎无法让身份验证和会话超时同步.我有一个基本的表单验证设置和一些有限的会话值.我设置认证超时少于会话(28分钟vs 30),但是对开发Web服务器运行,该会话将在服务器重新启动时被擦除,但身份验证仍然存在.我假设身份验证存储在一
我正在开发一个C#MVC应用程序,似乎无法让身份验证和会话超时同步.我有一个基本的表单验证设置和一些有限的会话值.我设置认证超时少于会话(28分钟vs 30),但是对开发Web服务器运行,该会话将在服务器重新启动时被擦除,但身份验证仍然存在.我假设身份验证存储在一个cookie中,显然可以在服务器重新启动后生效. <authentication mode="Forms" > <forms loginUrl="~/Account/Login" timeout="28" /> </authentication> <sessionState timeout="30" /> 如果Session为null,我想强制身份验证超时,然后强制登录. 这是我真正想做的吗?如果是这样,我该怎么做? 如果没有,处理这个的正确方法是什么? 编辑 对于更多的观点我也发布了这个同样的项目的这个问题:Login as… best practices? 解决方法我找到了我的答案.覆盖Authorize属性.这似乎是最优雅的方法:public class AuthorizeWithSessionAttribute : AuthorizeAttribute { protected override bool AuthorizeCore(HttpContextBase httpContext) { if (httpContext.Session == null || httpContext.Session["CurrentUser"] == null) return false; return base.AuthorizeCore(httpContext); } } (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 记一道毫无思路的算法题
- 如果我的Asp.Net会话有IsNewSession == true,那我的意思是什
- asp.net Web.config 详细配置说明
- asp.net-mvc – 在Azure Active Directory B2C中按组授权
- [asp.net mvc 奇淫巧技] 02 - 巧用Razor引擎在Action内生成
- jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
- 模型 – 视图 – 控制器 – ASP.NET WebForms vs MVC [VS20
- asp.net – 在我的网站中添加HttpModule时出现“500内部服务
- 在asp.net中读取查询字符串而不指定任何页面名称
- asp.net – 在MVC3或IIS 7.5中禁用x-frame-options
推荐文章
站长推荐
- ASP.NET -- WebForm -- 页面生命周期事件
- asp.net-mvc – 使用mvc的主要目的
- asp.net – web部署工具2.1和web部署3.5有什么区
- asp.net – 获得“System.Web.Mvc.Html.MvcForm”
- asp.net-mvc – ASP.net身份在删除外部帐户后停止
- asp.net – VS插件:查看标记.存在这样的事情吗?
- asp.net-mvc-3 – 如何从ASP.NET MVC#输出中删除
- asp.net 自动将汉字转换成拼音第一个字母
- asp.net-mvc – 在ajax请求中返回PDF
- asp.net – 在Application_BeginRequest中设置会
热点阅读