2014-12-04 70 views
0

我正在使用表单身份验证,但有一段时间我注意到用户身份验证已存在,但我的会话过期。所以请指导我如何为两者设定相同的过期时间。会话失效和登录会话失效asp.net webform

如果我在登录后在会话变量中存储了一些东西,如果我的会话超时发生,它将设置为空?

这样我检查才允许在服务器端函数中执行其他代码。

if (HttpContext.Current.User.Identity.IsAuthenticated && HttpContext.Current.Session["Email"] != null) 
{ 

} 

如果访问一些服务器端方法,如果用户进行身份验证和HttpContext.Current.Session["Email"]不为空的话,我允许做那几个函数的调用之前经常检查。我看到IsAuthenticated返回true,但HttpContext.Current.Session["Email"]变为空。

如何处理这种情况。寻找你的指导路线。感谢

+0

检查以下页面,它可以提供你一些好的线索:http://stackoverflow.com/questions/4605161/session-variables-timeout-in-asp- net-app – NP3 2014-12-04 12:28:18

+0

http://stackoverflow.com/questions/1490879/det ecting-会话期满上-ASP净MVC?RQ = 1 – Mou 2014-12-04 13:28:33

回答

0

HttpContext.Current.User.Identity.IsAuthenticated总是返回true

我有同样probléme但我通过在日志表单示例会话(“用户”)=的userid

设置会话校正它

我在母版页添加该代码

if isnothing(session("user")) then 
redirect to login page 
end if