PDA

View Full Version : سوال: چگونگي ارجاع به صفحه login بدون ازبين رفتن اطلاعات



ali_shmki
دوشنبه 03 آبان 1389, 12:39 عصر
سلام
من در سايتم يك صفحه ارسال پست دارم كه در صورتيكه كاربر لاگين كرده باشد، ميتواند به اين صفحه وارد شود. در غير اينصورت، به صفحه redirect ،login ميشود:
if (Session["admin"] = null)
{
Response.Redirect("login.aspx");
}

خب. بعد از اينكه كاربر وارد صفحه ارسال پست شد، شروع ميكنه به تايپ. اما در حين تايپ، سشن expire ميشه.
به همين جهت، در event مربوط به باتن كليك (باتن ارسال پست)، بايد اين كد رو مجددا قرار بديم :

if (Session["admin"] = null)
{
Response.Redirect("login.aspx");
}

هنگاميكه كاربر بعد از كليك دكمه ارسال،‌ وارد صفحه لاگين شد و لاگين كرد، اطلاعاتي كه تايپ كرده گم ميشه و مجبوره دوباره تايپ كنه. چكار كنم كه اطلاعات تايپ شده از بين نره؟

hamhik
دوشنبه 03 آبان 1389, 14:37 عصر
خب شما چرا از دستور user.identity.name استفاده نمی کنید؟!
یعنی (البته برای استفاده از این دستور باید یه سری کد های دیگه هم اضافه کنید)

if (user.identity.name==null)
{response.redirect("login.aspx");
}

ali_shmki
دوشنبه 03 آبان 1389, 14:41 عصر
خب شما چرا از دستور user.identity.name استفاده نمی کنید؟!

اين جواب شما چه ربطي به سوال من داره؟ لطفا سوال رو با دقت و تا انتها بخونيد دوست من.

majnun
دوشنبه 03 آبان 1389, 20:11 عصر
عزیز من بهترین راه شما اینه که عمر سشن رو بیشتر کنید که expire نشه

در وب کانفیگ

archDevil
دوشنبه 03 آبان 1389, 20:42 عصر
با سلام
می تونی که از Application به جای Session استفاده کنی اگه مشکلت عمر Session است.

ali_shmki
سه شنبه 04 آبان 1389, 19:31 عصر
بهترین راه شما اینه که عمر سشن رو بیشتر کنید که expire نشه

شما مطمئنی که بهترین راه هست!

1- این راه پاک کردن صورت مسئله هست. نه پاسخ به سوال. در ضمن اگه اینطور بود، همه برنامه نویسان، تایم اوت سشن رو میگذاشتن روی 1 سال! و خیال خودشونو راحت میکردن.

2- بیشتر هاستینگ ها از این کار جلوگیری میکنن.