2011-05-16 37 views
0

我有一个使用SQL ASP.net会员系统的asp.net网站。当用户登录到网站并且在20分钟内不活动时,他们会被发送到下一页请求的登录页面。我想在登录页面上显示一些文字,说明“您因闲置而退出”。有没有内置的方法来做到这一点?或者我可以用其他方式区分用户被发送到登录页面的原因(针对不活动或其他原因)?我曾经搜索过SO和Google,但一直未能提出任何建议。使用asp.net会员时获取登录提示的原因

我们需要这样做的原因是因为我们最近从网站以前的版本迁移过来,这个网站对安全性并没有自动注销,所以我们从用户那里得到很多反馈,认为有问题与网站时,他们被提示再次登录。

在此先感谢。

回答

1

对于闭合的目的,我会回答我的问题。我找不到干净的方式来做我想做的事情,所以我最终在用户登录后以登录时间设置了一个cookie。然后在登录表单页面上,我看到cookie中的登录时间是大于30分钟(我在asp.net中的身份验证超时)并显示“由于不活动而被注销”消息。否则它不显示消息。

不是很好,但它似乎工作。满足绝大多数用户的要求。

2

为此更好使用javascript并对其采取主动措施,如果可能,则显示超时剩余时间,否则只是通过提示用户显示他的会话已超时并将其重定向到登录页面来提醒用户。看一个简单的例子here

要他重定向到登录页面下面添加以下行作为例子:

alert("Your current Session is over."); window.location = "YourLoginPage.aspx"; 
+0

我们已经考虑过这个问题,但我们不能总是假设启用了javascript。如果可能的话,我们喜欢在实际的登录页面上输入内容 谢谢。 – user714241 2011-05-16 15:57:43

+0

我们正在使用进程中的sessionstate模式。我想在创建新会话cookie时寻找旧会话cookie,但如果所有浏览器窗口都没有关闭,我认为它会被回收,所以我认为这不会起作用。我还有什么可以使用Session_End?谢谢。 – user714241 2011-05-16 16:15:20

+0

session_End的问题在于它只是服务器端的清理资源触发器,这就是为什么我想了一会儿并删除了评论。我真的不能想到其他任何东西,除非通常发生这种情况,url将包含查询字符串以及它需要重定向回的位置,您可以检查是否存在实际的重定向,然后向用户显示一些通用消息,但问题是你不知道用户是否只想访问该页面而不登录并调用相同的东西 – 2011-05-16 16:20:23

相关问题