PDA

View Full Version : پاک شدن تمامی sesion ها با logout کاربر



engmmrj
چهارشنبه 26 آذر 1393, 12:15 عصر
من یک سبد خرید دارم که هرکسی که کاربر مهمان هم میتونه به سبد خرید اضافه کنه الان اگر کاربری در سیستم لاگین باشه و خروج از سیستم رو بزنه کل session ها پاک میشه و سبد خرید هم پاک میشه!

MMSHFE
چهارشنبه 26 آذر 1393, 12:20 عصر
خوب نباید اینطور باشه؟ من وقتی میرم فروشگاه یک سری کالا میریزم تو سبدم و همینطوری ولش میکنم میرم بیرون، اونا که نباید سبدم رو نگه دارن. درسته؟

engmmrj
چهارشنبه 26 آذر 1393, 15:01 عصر
الان ما یک سایت داریم که قسمت فروشگاه یا قمست خود سایت جدا هست ، طرف وقتی تو سایت لاگین میکنه و تو فروشگاه محصولی رو اضافه میکنه وقتی logout رو میزنه سبد خرید هم پاک میشه ! قسمت فروشگاه و سایت جداس !

MMSHFE
چهارشنبه 26 آذر 1393, 15:41 عصر
Yii::app()->user->logout(false);
منبع: http://www.yiiframework.com/doc/api/1.1/CWebUser#logout-detail
البته برای اینکه این روش کار کنه، نباید سشن رو با Yii::app()->user->setState ایجاد کنید بلکه باید با Yii::app()->session->set و... (یا مستقیماً با استفاده از SESSION_$) کار کنید.

engmmrj
چهارشنبه 26 آذر 1393, 15:52 عصر
کار با session تو yii خیلی ضعیفه !

MMSHFE
چهارشنبه 26 آذر 1393, 15:55 عصر
کار باهاش مشکلی نداره. شما قلقهاش دستتون نیست :چشمک:

MMSHFE
چهارشنبه 26 آذر 1393, 15:59 عصر
اتفاقاً اینکه میشه یکسری اطلاعات رو داخلش گذاشت و با stateها کار کرد که خیلی خوبه. فرض کنید چند تا ماژول دارین و برای هرکدوم یک فرزند از کلاس CWebUser درست کردین و با اون کار میکنید و با کمک پیشوندی که برای stateها میشه تعریف کرد، میتونید کاری کنید که فرضاً وقتی Admin لاگین یا Logout میکنه، به Stateهای کاربر عادی دسترسی نداشته باشه و با لاگ اوت شدن کاربر هم stateهای ادمین از بین نره و کلی کار دیگه. توصیه میکنم درک عمیقتری از ساختار فریمورک پیدا کنید و اینقدر با عجله هرچیزی رو که متوجه نمیشین، برچسب ضعیف بودن و بد پیاده سازی شدن بهش نچسبونید!