/ / अजाक्स अपडेट टारगेट आईडी का उपयोग करने पर, लॉग आउट के समय के बाद लॉग इन पेज को टैग टैग के अंदर प्रदान किया गया। MVC2 - asp.net-mvc

अजाक्स अपडेट टारगेट आईडी का उपयोग करने पर, लॉग आउट पृष्ठ प्रमाणीकरण के बाद समय के बाद डिव टैग के अंदर प्रदान किया गया। MVC2 - asp.net-mvc

on timeout due to form authentication . मेरे पूरे लॉगिन पृष्ठ को ajax अद्यतन लक्ष्य आईडी विशेषता के कारण div के अंदर प्रस्तुत करना मिलता है। क्या कोई समाधान है जिसमें मेरा लॉगिन पृष्ठ डिव टैग में रेंडर करने के बजाय टाइमआउट ऑथेंटिकेशन के बाद नई विंडो में खुलता है।

मैं जरूरत पड़ने पर अपना पूरा कोड प्रदान कर सकता हूं। मेरी मदद करो लोग।

अग्रिम में धन्यवाद!

उत्तर:

उत्तर № 1 के लिए 1

मुझे एक वेब ऐप के साथ भी यही समस्या थीकाम पर। आपको इसके आंशिक दृश्य के साथ एक लॉगिन नियंत्रक सेट करना होगा जिसमें केवल आपके द्वारा आवश्यक लॉगिन फ़ील्ड शामिल हैं। जब एप्लिकेशन का समय समाप्त हो जाता है, तो आपको लॉगिन नियंत्रक पर पुनर्निर्देशित किया जाएगा जो केवल आपके इच्छित फ़ील्ड सहित आंशिक दृश्य वापस कर देगा। इसके अलावा, आप इस पृष्ठ में रहते हुए दिखाने के लिए इच्छुक सभी तत्वों को छिपाने के लिए JQuery या JS का उपयोग कर सकते हैं।

टाइमआउट के लिए वेब कॉन्फिगर में लॉगिन कंट्रोलर सेट करना न भूलें

<authentication mode="Forms">
<forms loginUrl="~/Login" timeout="9000" />
</authentication>

उम्मीद है की यह मदद करेगा।


जवाब के लिए 0 № 2

आखिरकार मुझे एक और रास्ता मिल गया

अपनी लॉगऑन क्रिया में आप एक कस्टम प्रतिक्रिया HTTP शीर्ष लेख जोड़ सकते हैं:

public ActionResult LogOn(){
{
var model = ...
Response.AppendHeader("X-LOGON", "Checked");
return View(model);
}

और फिर पूरी घटना के लिए सदस्यता लें और इस हेडर की उपस्थिति के लिए परीक्षण करें और तदनुसार कार्य करें:

$.ajax({
url: "/home/some_protected_action",
success: function (data, textStatus, XMLHttpRequest) {
if (XMLHttpRequest.getResponseHeader("X-LOGON") === "Checked") {
// the LogOn page was displayed as a result of this request
// probably timeout => act accordingly
window.location = "<%=Url.Content("~/Account/LogOn") %>";
window.location.reload();
}
}
});