2012-04-27 54 views
0

想要保持网页登录。用户名n登录所需的密码。 网页会话将在10分钟不活动后自动注销。C#help !!会话自动注销后重新登录

所以想到有没有在C#中的任何代码,可以检测到,可以检测到目前已经由于不活动注销,并执行登录命令?

谢谢:)

+0

我已经创建了一个定时器设置为计数10分钟,所以计时器将触发命令每10分钟登录一次网页。但是,如果在定时器触发时间内网页未注销,则会显示错误。所以想要有一些编码来检测会话已经注销以触发“登录”命令而不是依赖定时器 – signinintp 2012-04-27 09:32:09

回答

0

你所描述似乎是期望的行为,你可以关闭过程中增加会话超时说一个小时,如果这样做取悦你的用户超过10 mins.if你这样做确保应用程序池在20分钟后不会进入睡眠模式(您可以通过iis管理的默认行为)。

如果你真的想重新认证你的用户,你可以检查你的global.asax(或自定义提供者,如果你有),如果你的用户注销,如果不尝试并重新验证他。
要做到这一点,你必须有他的用户名和密码在你的网站的内存或用户的cookie。请注意,最后一种方法是非常不安全的,因为您必须将其密码存储在cookie中,如果这样做,请务必对其进行编码。
您的全球ASAX会是这个样子BTW(不可复制pastable,只是给你的想法):

if(!User.Identity.IsAuthenticated){ 
    HttpCookie cookie = Request.Cookies["StoredCredentials"] 
    Membership.ValidateUser(Cookie.Values["userName"], Cookie.Values["userPassword"]) 
}