PDA

View Full Version : logout



lvenoos
سه شنبه 18 بهمن 1384, 15:51 عصر
سلام
برای logoutشدن کاربر از برنامه،آیا فقط باید کاربر رابه صفحه اول هدایت کرد یا از کد خاصی برای خروج از applicationاستفاده کرد؟اگه کسی می دونه لطفا منو راهنمایی کنید.مرسی

Behrouz_Rad
سه شنبه 18 بهمن 1384, 21:44 عصر
اگر از تکنیک Forms Authentication استفاده می کنید، با استفاده از دستور FormsAuthentication.SignOut، کوکی تصدیق هویت قرار گرفته شده بر روی سیستم کاربر از بین خواهد رفت. پس از اینکار، معمولا کاربر را به صفحه ی لوگین رهنمون می کنند. (Redirect)
موفق باشید.

lvenoos
یک شنبه 23 بهمن 1384, 10:14 صبح
سلام
مرسی از جوابتون.اما من از این تکنیک استفاده نمی کنم.کاربر از طریق نام کاربری ورمز عبور خود وارد می شودبرای این حالت چه راهی را پیشنهاد می کنید؟

reza_rad
یک شنبه 23 بهمن 1384, 10:28 صبح
از چی استفاده میکنید؟ session ؟ بین صفحات چطور کاربر را انتقال می دهید؟

lvenoos
یک شنبه 23 بهمن 1384, 11:07 صبح
برای انتقال کاربر از sessionاستفاده می کنم.

mehranFX
یک شنبه 23 بهمن 1384, 12:06 عصر
برای انتقال کاربر از sessionاستفاده می کنم.

برای Logout از Session.Abandon استفاده کن !!!

jannati
دوشنبه 24 بهمن 1384, 11:08 صبح
آقای راد من درPage_Load صفحه لاگینم دستورFormsAuthentication.SignOut (); را استفاده کرده ام و وقتی کاربر روی کلید خروج(به صورت هایپرلینک است) کلیک میکند به صفحه لاگین میرود.اما Signoutنمیشه.چون اگر دکمه Backرا بزند به صفحه قبلی برمیگردد.میشه توضیح بدید چیکارکنم؟

reza_rad
دوشنبه 24 بهمن 1384, 12:19 عصر
فکر کنم signout میشه.فقط باید IE بسته بشه.اگه روی لینکهای صفحه ای که با back بهش برگشته کلیک کنه نباید login باشه.اینطور نیست؟

Behrouz_Rad
دوشنبه 24 بهمن 1384, 13:00 عصر
کاملا طبیعیه!
در هنگامی که کاربر بر روی دکمه ی Back کلیک می کند، صفحه ی قبلی بازدید شده، از حافظه ی Cache مرورگر خوانده خواهد شد.
در این سایت نیز، این مورد اتفاق می افتد!
این مسئله اصلا مهم نیست. مشکل خاصی با Back زدن کاربر اتفاق نخواهد افتاد.
اگر کاربر درخواست صفحه ی جدیدی را از سرور کند، در آن زمان پردازش وی، وجود کوکی تصدیق هویت بر روی سیستم وی بررسی خواهد شد و چون کاربر قبلا SignOut کرده، به صفحه ی لوگین رهنمون خواهد گشت.
به هر حال راه جلوگیری از موردی که فرمودید، تنظیم دایرکتیو OutputCache صفحه و تنظیم مقدار Duration آن به 1 است.
خاصیت VaryByParam را نیز برابر با * قرار دهید.
موفق باشید.

jannati
دوشنبه 24 بهمن 1384, 13:22 عصر
خوب ممکنه کاربر قبلی یک سری اطلاعات را سرچ کرده باشه که نخواهد کاربر دیگری ببیند .ولی با Back قابل دسترس میشود.راجع به این تنظیمات اگر مقدوره یه توضیحی بدهید.
ممنون که جواب دادید

Behrouz_Rad
دوشنبه 24 بهمن 1384, 13:42 عصر
توضیح اجمالی رو عرض کردم خدمتتون.
صفحاتی که در مرورگر مشاهده می کنید، در حافظه ی Cache مرورگر ذخیره می شوند.
به منظور جلوگیری از این امر:


<%@ OutputCache Duration="1" VaryByParam="*" %>

و در Page_Load


if(!Page.IsPostBack)
{
// do not cache page.
Response.CacheControl = "no-cache" ;
Response.AddHeader( "Pragma", "no-cache" );
Response.Expires = -1 ;
}

موفق باشید.