gpt4 book ai didi

JQueryidleTimeout插件: How to display the dialog after the session is timedout on ASP. NET MVC页面

转载 作者:行者123 更新时间:2023-12-01 05:09:54 24 4
gpt4 key购买 nike

我正在致力于将 ASP.NET 应用程序迁移到 MVC 框架。我已经使用 JQueryidleTimeout 插件为 InActiveUser 实现了 session 超时。

我在我的主页中将空闲时间设置为 30 分钟,如下所示。因此,在用户 session 超时 30 分钟后,自动注销对话框会显示几秒钟,并显示“由于不活动,您即将注销

在此之后,一旦用户注销并重定向到主页。在这里,我再次想显示一个对话框,并且应该停留在那里,说“您已注销”,直到用户单击它。

这是我在母版页中的代码:

$(document).ready(function() {
var SEC = 1000;
var MIN = 60 * SEC;
// http://philpalmieri.com/2009/09/jquery-session-auto-timeout-with-prompt/
<% if(HttpContext.Current.User.Identity.IsAuthenticated) {%>
$(document).idleTimeout({
inactivity: 30 * MIN,
noconfirm : 30 * SEC,
redirect_url: '/Account/Logout',
sessionAlive: 0, // 30000, //10 Minutes
click_reset: true,
alive_url: '',
logout_url: ''
});
<%} %>

}

账户 Controller 中的Logout()方法:

 public virtual ActionResult Logout() {
FormsAuthentication.SignOut();
return RedirectToAction(MVC.Home.Default());
}

感谢您的回复。

最佳答案

不如重定向到 url,而是重定向到 javascript 函数,该函数首先执行您希望它执行的操作,然后从 javascript 中重定向到 url。

function logout() {
alert('You are about to be signed out due to Inactivity');
window.location = '/Account/Logout';
}

$(document).ready(function() {
var SEC = 1000;
var MIN = 60 * SEC;
// http://philpalmieri.com/2009/09/jquery-session-auto-timeout-with-prompt/
<% if(HttpContext.Current.User.Identity.IsAuthenticated) {%>
$(document).idleTimeout({
inactivity: 30 * MIN,
noconfirm : 30 * SEC,
redirect_url: 'javascript:logout()',
sessionAlive: 0, // 30000, //10 Minutes
click_reset: true,
alive_url: '',
logout_url: ''
});
<%} %>

p/s:虽然我确实想知道 redirect_urllogout_url 参数之间有什么区别。

关于JQueryidleTimeout插件: How to display the dialog after the session is timedout on ASP. NET MVC页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2747928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com