mq1379
3 سال پیش توسط mq1379 مطرح شد
3 پاسخ

ورود و خروج

من یه وبسایت لاراولی دارم که احراز هویتش با laravel ui هست با توجه به نیازی که داشتم تو تنظیمات سشن expire_on_close رو false گذاشتم تا کاربر لاگ اوت نشه اما اینجوری دیگه نمیتونم ساعت ورود و خروج کاربرا به سایت رو دربیارم اگه راهی میشناسید لطفا پیشنهاد بدید راه مدنظر خودم اینه وقتی کابر صفح سایتو بست لاگ اوت نشه اما تو یه جدول دیتابیس براش خروج ثبت بشه اما نمیدونم چطور انجامش بدم یعنی چطور یه middleware برای خروج کاربر از صفحه قرار بدم؟


ثبت پرسش جدید
حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 3 سال پیش آپدیت شد
0

راه تمیز و مطمئن همونی که غیرفعالش کردید اما راه های دیگه ای هم هست.
می تونید توی فایل اصلی که بیس صفحه محسوب میشه با جاوا اسکریپت یا جی کوئری در زمان های مشخص چک کنید و آخرین حضور کاربر رو آپدیت کنید چون این فایل در سمت کاربر قرار داره تا زمانی اجرا میشه که صفحه توسط کاربر بسته نشده باشه بر همین اساس می تونید به صورت تقریبی آخرین حضورش رو توی دیتابیس داشته باشید.

function activity() {
    // activity tabel update
}

setInterval(activity,60000);

با کمک jquery یا axios می تونید به صورت اتوماتیک هر چند لحظه یک درخواست به سرور ارسال کنید تا حضور کاربر رو ثبت کنه، هر زمان کاربر صفحه رو ببنده دیگه درخواستی ارسال نمیشه


حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 3 سال پیش آپدیت شد
0

سلام
شاید این راه براتون مناسب باشه
میتونید یک جدول برای ثبت فعالیت کاربر ایجاد کنید مثلا با نام activity حالا توی میدلور Authenticate یا هر میدلوری که بخواهید برای اعمال آپشن های متفاوت و بیشتر لحاظ کنید فعالیت کاربر رو بگیرید و توی دیتابیس یه رکورد ایجاد کنید.
میدلور رو هم می تونید به این شکل پیاده کنید

public function handle($request, Closure $next)
    {
        if ($request->user()->status() == 'registered')
        {
//ثبت در جدول activity
            return $next($request);
        }
        return redirect('/');
    }

متد status هم در مدل user برای مشخص کردن وضعیت کاربر به عنوان شرط به کارتون میاد.


mq1379
@mahdiqorbani33 3 سال پیش مطرح شد
0

@hekmati الان مشکل من اینجاست که یه میدل ور اینطوری برای اینکه بفهمم کاربر آنلاینه یا نه درست کردم که بفمم کی وارد صفحات سایت شده اما نیتونم بفهمم کی از صفحات سایت خارج شده؟


حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 3 سال پیش آپدیت شد
0

راه تمیز و مطمئن همونی که غیرفعالش کردید اما راه های دیگه ای هم هست.
می تونید توی فایل اصلی که بیس صفحه محسوب میشه با جاوا اسکریپت یا جی کوئری در زمان های مشخص چک کنید و آخرین حضور کاربر رو آپدیت کنید چون این فایل در سمت کاربر قرار داره تا زمانی اجرا میشه که صفحه توسط کاربر بسته نشده باشه بر همین اساس می تونید به صورت تقریبی آخرین حضورش رو توی دیتابیس داشته باشید.

function activity() {
    // activity tabel update
}

setInterval(activity,60000);

با کمک jquery یا axios می تونید به صورت اتوماتیک هر چند لحظه یک درخواست به سرور ارسال کنید تا حضور کاربر رو ثبت کنه، هر زمان کاربر صفحه رو ببنده دیگه درخواستی ارسال نمیشه


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام