获取使用asp.net成员身份时出现登录提示的原因

获取使用asp.net成员身份时出现登录提示的原因,asp.net,asp.net-membership,Asp.net,Asp.net Membership,我有一个使用SQL asp.net会员系统的asp.net网站。当用户登录到网站并处于非活动状态20分钟后,他们会在下一个页面请求中被发送到登录页面。我想在登录页面上显示一些文字,上面写着“您因不活动而注销”。有没有一种内在的方法可以做到这一点?或者我可以通过任何其他方式区分用户为什么被发送到登录页面(由于不活动或其他原因)?我已经搜索了SO和Google,但没有找到任何结果 我们之所以需要这样做,是因为我们最近从以前版本的网站迁移而来,该版本的安全性不高,没有自动注销功能,因此当用户被提示再次

我有一个使用SQL asp.net会员系统的asp.net网站。当用户登录到网站并处于非活动状态20分钟后,他们会在下一个页面请求中被发送到登录页面。我想在登录页面上显示一些文字,上面写着“您因不活动而注销”。有没有一种内在的方法可以做到这一点?或者我可以通过任何其他方式区分用户为什么被发送到登录页面(由于不活动或其他原因)?我已经搜索了SO和Google,但没有找到任何结果

我们之所以需要这样做,是因为我们最近从以前版本的网站迁移而来,该版本的安全性不高,没有自动注销功能,因此当用户被提示再次登录时,我们收到了很多用户的反馈,他们认为网站出了问题


提前感谢。

最好使用javascript进行此操作,并对此保持主动,如果可能,显示剩余超时时间,否则只需使用显示会话超时的消息框提醒用户,然后将其重定向到登录页面。请看一个简单的例子

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

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

最好使用javascript并对此采取主动,如果可能的话,显示剩余的超时时间,否则只需使用一个显示会话超时的消息框提醒用户,然后将其重定向到登录页面。请看一个简单的例子

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

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

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


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

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


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

我们已经考虑过这一点,但我们不能总是假设启用了javascript。如果可能的话,我们希望在实际登录页面上显示一些内容。谢谢。我们正在使用进程内会话状态模式。我曾考虑在创建新的会话cookie时查找旧的会话cookie,但我认为如果没有关闭所有的浏览器窗口,它就会被回收,因此我认为这样做行不通。我还可以如何使用会话结束?谢谢。session_End的问题在于它是清理资源的服务器端唯一触发器,这就是为什么我考虑了一会儿并删除了注释。老实说,我想不出其他任何东西,除非通常情况下,当这种情况发生时,url将包含一个查询字符串,其中包含它需要重定向回的位置,您可以检查是否有实际的重定向回,然后向用户显示一些通用消息,但问题是,你不知道用户是否只想在不登录的情况下访问该页面,同样的事情也会被调用。我们考虑过这一点,但我们不能总是假设启用了javascript。如果可能的话,我们希望在实际登录页面上显示一些内容。谢谢。我们正在使用进程内会话状态模式。我曾考虑在创建新的会话cookie时查找旧的会话cookie,但我认为如果没有关闭所有的浏览器窗口,它就会被回收,因此我认为这样做行不通。我还可以如何使用会话结束?谢谢。session_End的问题在于它是清理资源的服务器端唯一触发器,这就是为什么我考虑了一会儿并删除了注释。老实说,我想不出其他任何东西,除非通常情况下,当这种情况发生时,url将包含一个查询字符串,其中包含它需要重定向回的位置,您可以检查是否有实际的重定向回,然后向用户显示一些通用消息,但同样的问题是,你不知道用户是否只想访问该页面而不登录,并且调用了相同的东西