PDA

View Full Version : انفضای Ticket قبل از Session



Mohamad1362
پنج شنبه 09 آذر 1391, 10:02 صبح
من یه مشکلی با Cookie ورود به سایت پیدا کردم ، همه چی داره خوب کار میکنه فقط مشکل اینجاست که وقتی Session منقضی میشه کوکی ورود هم به همراهش منقضی میشه . حتی وقتی کاربر تیک "مرا به خاطر بسپار" رو زده باشه بازم کاربر رو خارج میکنه. این کده منه ، ببینید مشکل کار من کجاست :
if (remembermechkbox.Checked)
{
FormsAuthenticationTicket AuthenticationTicket = new FormsAuthenticationTicket(1, userNametxt.Text.Trim().ToLower(), DateTime.Now, DateTime.Now.AddMinutes(1000), true, "admin");
string encryptedTicket = FormsAuthentication.Encrypt(AuthenticationTicket);
HttpCookie AuthCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
Response.Cookies.Add(AuthCookie);
}
اینم کد Web.Config :
<authentication mode="Forms">
<forms name="SiteCookie" loginUrl="Login.aspx" protection="All" slidingExpiration="true" timeout="1">
</forms>
</authentication>

ارمین نصیری
پنج شنبه 09 آذر 1391, 11:00 صبح
سلام شما کوکی که تعریف کرده اید داری یک خصوصیتی به نامExpiresهست که اگر اسم کوکی ویک دات بزاری میاره در خصویت یا متد DATA تاریخ فعلی سیستم با هرچند روزی که می خواهید

HttpCookie cv = new HttpCookie();
cv.Expires=(DateTime.Now.AddDays(10));

Mohamad1362
پنج شنبه 09 آذر 1391, 11:43 صبح
مگه اون پارمتری که تو خط پایین تعریف کردم همین کار رو نمیکنه ؟
FormsAuthenticationTicket AuthenticationTicket = new FormsAuthenticationTicket(1, userNametxt.Text.Trim().ToLower(), DateTime.Now, DateTime.Now.AddMinutes(1000), true, "admin");

Mohamad1362
پنج شنبه 09 آذر 1391, 15:38 عصر
سلام شما کوکی که تعریف کرده اید داری یک خصوصیتی به نامExpiresهست که اگر اسم کوکی ویک دات بزاری میاره در خصویت یا متد DATA تاریخ فعلی سیستم با هرچند روزی که می خواهیداین کارم کردم ولی نشد:عصبانی++:

fakhravari
پنج شنبه 09 آذر 1391, 21:33 عصر
http://msdn.microsoft.com/es-es/library/system.web.security.formsauthenticationticket.aspx

Mohamad1362
جمعه 10 آذر 1391, 08:18 صبح
http://msdn.microsoft.com/es-es/libr...ionticket.aspx (http://msdn.microsoft.com/es-es/library/system.web.security.formsauthenticationticket.aspx )همین کارارو کردم ، ولی جواب نمیده ، همه چی داره خوب کار میکنه ها ، یعنی وقتی وقتی کاربر تیک Remember Me رو میزنه اون رو بیشتر از او چیزی که تو Web.Config تعیین کردم نگه میداره ولی به محض اینکه سشن منقشی میشه ، کوکی هم از بین میره و باید دوباره لاگین کنم

kahrizak
یک شنبه 10 دی 1391, 15:11 عصر
سلام
میتونی slidingExpiration را false کن timeout برابر 20 کنیدو درمورد کوکی و سشن ها هم Tiime out را 20 کن(یعنی 20 دقیقه):لبخندساده: