मैं उपयोगकर्ताओं को लॉग इन करने के लिए उपयोगकर्ताओं को लॉग इन करने के लिए एएसपी.NET फॉर्म प्रमाणीकरण का उपयोग कर रहा हूं।मुझे एएसपी.नेट फॉर्म प्रमाणीकरण में कार्यक्षमता याद रखें
कार्यक्षमता का एक हिस्सा "मुझे याद रखें" चेकबॉक्स है जो उपयोगकर्ता को एक महीने के लिए याद करता है यदि वे इसे चेक करते हैं।
उपयोगकर्ता प्रवेश करने में इस प्रकार के लिए कोड:
<authentication mode="Forms">
<forms loginUrl="Home.aspx" defaultUrl="~/" slidingExpiration="true" timeout="43200" />
</authentication>
इस उपयोगकर्ता ठीक लॉग लेकिन उनमें लॉग आउट के बाद:
public static void Login(HttpResponse response, string username,
bool rememberMeChecked)
{
FormsAuthentication.Initialize();
FormsAuthenticationTicket tkt = new FormsAuthenticationTicket(1, username, DateTime.Now,
DateTime.Now.AddMinutes(30), rememberMeChecked,
FormsAuthentication.FormsCookiePath);
HttpCookie ck = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(tkt));
ck.Path = FormsAuthentication.FormsCookiePath;
if (rememberMe)
ck.Expires = DateTime.Now.AddMonths(1);
response.Cookies.Add(ck);
}
web.config में प्रासंगिक अनुभाग यह है आधे घंटे यदि वे साइट का उपयोग नहीं करते हैं, हालांकि इसकी दृढ़ता संपत्ति (याद रखें Ichechecked) सत्य पर सेट है और यदि यह सत्य है, तो कुकी एक महीने के बाद समाप्त हो जाएगी। क्या मैं यहाँ कुछ याद कर रहा हूँ?
अग्रिम धन्यवाद, एफ
मुझे यकीन है कि अगर यह इस उदाहरण में एक अंतर बिल्कुल बनाना होगा नहीं कर रहा हूँ, फिर भी, क्या 'FormsAuthentication.RedirectFromLoginPage (उपयोगकर्ता नाम, rememberMe)' उपयोग करने के साथ गलत क्या है? क्या टिकट मैन्युअल रूप से बनाने की आवश्यकता है? यदि आप कॉन्फ़िगरेशन में टाइमआउट निर्दिष्ट करते हैं तो आपको कोड, AFAIK में इसे हस्तशिल्प करने की आवश्यकता नहीं है। साथ ही, 'याद रखें' कहां सेट किया जा रहा है? –