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中设置会
 
热点阅读
            