我在我的js文件包含在我的ASP.NET MVC應用程序的主.cshtml頁以下幾點:後端只能替代javascript定期函數調用?
var ajax_call = function() {
$.ajax({
type: "GET",
cache: false,
url: "/Session/Index/",
success: function (result) {
if (!(result.length > 0)) {
window.location.href = '/Home/Index/'
}
}
});
};
var interval = 1000 * 60 * .2; // where X is your every X minutes---.2 -> every 12 seconds
setInterval(ajax_call, interval);
目的是檢查會話是否仍然有效(SessionController唯一回報結果如果會話處於活動狀態),否則瀏覽器將被重定向到Home/Index,其中HomeController具有全局授權屬性,如果登錄不是有效會話,則該屬性會重定向到登錄頁面。
我的問題是,這是一個有效的方法?它可以工作(如果我用用戶登錄,然後打開一個新窗口並在新窗口中用同一用戶登錄,舊窗口會在不久之後重定向到登錄屏幕,具體取決於它在第12個週期中的位置),但是有沒有辦法在後端完全做這樣的事情?
謝謝。
那麼,你不能強制從後端重定向。但是,您可以將用戶重定向到來自後端的下一個請求的登錄頁面。那不是說授權系統已經可以做什麼了嗎? – David
我一個假設你張貼的在某種程度上餅乾設置「令牌」,後臺驗證模塊應該有某種方式來終止該令牌,(你可以立足於會議的口是心非是expiricy),然後重定向他沒有有效令牌的主頁面不再像「0000」 –
@大衛是的,這就是系統所做的事情,但我試圖通過每12秒執行一次請求來定期執行此操作。基本上,我試圖模擬對後端的請求。 – ITWorker