PDA

View Full Version : سوال: سوال در مورد IIS Idle Time-out و IsPersistent



amir.NET2
یک شنبه 07 اسفند 1390, 07:49 صبح
سلام

دوستان عزیز کد لاگین بنده به صورت زیر می باشد




HttpContext.Current.Response.Cookies.Clear();
DateTime expiryDate = DateTime.Now.AddYears(30);
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(2, UserId.ToString(), DateTime.Now, expiryDate, _save, UserId.ToString());
string encryptedTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie authenticationCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
if (_save)
{
authenticationCookie.Expires = ticket.Expiration;
}

HttpContext.Current.Response.Cookies.Add(authentic ationCookie);




تنظیمات Web.config هم به صورت زیر می باشد

<authentication mode="Forms">
<forms name=".iranieee" loginUrl="~/Login.aspx" protection="All" path="/" timeout="10080" />
</authentication>


حالا اینجا دو بحث مطرح هست که هر کدام باعث بروز مشکل می شود

به صورت پیشفرض این کد روی سرور کار نمی کند , اکر تیک Remember زده بشه , با بستن و باز کردن Browser نیاز به لاگین مجدد هست و اگر هم تیک زده نشه در حالت Idle بعد از 20 دقیقه اگر مثلا صفحه را Refresh کنیم Session کاربر Expire می شود

بنده تحقیق کردم دیدم یک Property با عنوان idle Time-out در IIS برای Application Pool سایت وجود دارد که مقدار پیشفرض آن 20 دقیقه هست , با دست کاری کردن این مقدار مشکل قرارگیری Browser در حالت Idle و Expire شدن 20 دقیقه ای حل می شود

ولی مساله Remember حل نمی شود

با توجه به روال کاری برای تنظیمات می خوام بدونم اصولا مگر نباید تنظیمات کد و Web.config تنظیمات Application Pool را Override کند تا بتوان مساله Remember password یا مدت زمان Expire شدن در صورت idle بودن را تنظیم مجدد کرد ؟ یا اینکه جایی از کد من و کاری که انجام می دهم مشکل دارد ؟

در ضمن OS ویندوز 2008 r2 با IIS 7.5 هست و آنتی ویروس هم ندارد و صرفا Firewall ویندوز روشن است

دوستان لطفا در صورت امکان یاری رسانید

با تشکر

amir.NET2
یک شنبه 07 اسفند 1390, 14:46 عصر
کسی از دوستان نظری نداره ؟