من نیاز به ماژولی دارم برای Login & User Registeration کاربران که کلیه امکانات مورد نیاز مثل فعال سازی اکانت با ارسال ایمیل و غیره رو داشته باشه و Session ها رو در بانک اطلاعاتی مدیریت کنه.
شبیه همین کامپوننت های معمولی و مرسوم در نرم افزارهایی مثل جوملا و یا MyBB یا همین فورام
چون در Yii مبتدی هستیم، از نوشتن این بخش به تنهایی کمی نگرانم
به همین دلیل دنبال یه ماژول حاظری و مطمئن هستم
یا اینکه لطف کنید و یک پروژه انجام شده با Yii رو معرفی کنید که بخش login , User register رو ازش بردارم و استفاده کنم. و یا ازش الگو برداری کنم[/rtl]
من Yii User و yii-user-management_0.8rc6 رو با دقت چک کردم
هیچ کدام session رو در بانک اطلاعاتی ذخیره نمی کنند.
در ضمن اکستنشن httpdbsession هم کامل نیست
خلاصه اینکه ممکنه مطالعه کد آنها به ادم دید بده. اما به نظر میاد کار ادم رو راه نمیندازن
1- ظاهرا Yii داخل خودش کد مدیریت سشن در دیتابیس رو نداره. درسته؟
2- دوستان عزیز نظر بدن که تو پروژه هاشون چه کردن. خودشون کد نوشتن یا از اکستنشن خاصی (ولو با تغغیر) استفاده کردند؟
[b]3- من بارها وسوسه شدم که سشن ها رو تو دیسک ذخیره کنم. چیزی که ظاهرا YII هم بطور پیشفرض عادت داره انجام بده.
و برای پرهیز از مشکلات تداخل سشن ها در سرور های اشتراکی (share host) با استفاده از دستور session_save_path
مسیر ذخیره سشن ها رو در یک دایرکتوری داخل فضای هاست کاربر مشخص کنم. این کار فشار کمتری هم رو سرور داره.
آیا عملا کسی این کارو انجام داده و مشکلی نداشته؟ چون اکثر cms ها و فورام ها سشن رو در دیتابیس ذخیره می کنند، کمی میترسم که بیام و تو دیسک آنها رو استفاده کنم.
در این حالت (ذخیره شدن سشن ها در دیسک) روش متداول تهیه لیست کاربران آنلاین چیه؟ [/b]
[font="Tahoma"]ذخیره سازی Session ها بر روی سرور یک تکنیک کاملا شناخته شده است که اتفاقا خیلی وقته مایرکوسافت اونو توی ASP.NET به عنوان Sessions Provider ارائه کرده[/font]
[font="Tahoma"]روش کار به این صورته که Session های کاربر که جنبه امنتیی بالایی دارند مثل User Accounts در قسمتی از بانک اطلاعاتی ذخیره می شند و به این شکل سرعت رندر کردن سرور رو بالا می برند و همینطور نگرانی های امنیتی رو هم از بین می بره به علاوه اینکه قابلیت های Logging & Tracking رو هم افزایش می ده.[/font]
[font="Tahoma"] هر برنامه نویسی می تونه از Server Side Sessions به عنوان یک تکنیک بسیار موثر استفاده کنه.
در مورد ذخیره در دیسک که گفتید من به شما پیشنهاد می کنم این کار رو در بانک اطلاعاتی انجام بدید به این صورت که تنها یک جدول برای ذخیره سازی Session ها ایجاد می کنید و نام و مقدار و نوع Session رو توی اون ذخیره می کنید. نکته بسیار مهم مدیریت رویداد های کاربره که باید با دقت Session های موجود رو حذف و ویرایش کنید .