使用asp.net成员资格时获取登录提示的原因

时间:2011-05-16 15:37:18

标签: asp.net asp.net-membership

我有一个使用SQL ASP.net会员系统的asp.net网站。当用户登录到网站并且处于非活动状态20分钟时,他们会在下一页请求时被发送到登录页面。我想在登录页面上显示一些文字,上面写着“由于不活动而你已经注销”。有没有内置的方法来做到这一点?或者我可以通过任何其他方式来区分用户被发送到登录页面的原因(由于不活动或其他原因)?我已经搜索了SO和谷歌,但还是没能想出任何东西。

我们之所以需要这样做,是因为我们最近从网站的先前版本迁移了一些关于安全性并且没有自动注销的网站,因此我们从用户那里得到了很多反馈意见,认为存在问题。提示他们再次登录的网站。

提前致谢。

2 个答案:

答案 0 :(得分:2)

最好使用javascript并积极主动,如果可能的话显示剩余超时,否则只是通过消息框警告用户,显示他的会话已经超时,然后将他重定向到登录页面。看一下这个简单的例子here

要将他重定向到登录页面,请将以下内容添加到以下行,如示例所示:

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

答案 1 :(得分:1)

为了结束,我将回答我自己的问题。我无法找到一种干净的方式来做我想做的事情,所以我最终在用户登录后设置了一个带有登录时间的cookie。然后在登录表单页面上,我看到cookie中的登录时间是否为超过30分钟(在asp.net中我的auth超时)并显示“由于不活动而退出”消息。否则它不会显示消息。

不太好,但似乎有效。满足绝大多数用户的要求。