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

کنترل نشست ها

سلام دوستان چطور میشه نشست های یک سایت رو کنترل کرد مثلا مانند مدیریت ورود به سیستم در سایت راکت


ثبت پرسش جدید
محمد حسین
@muhamad 3 سال پیش آپدیت شد
0

شما ابتدا باید از درایور database برای سیستم سشن ها استفاده کنی
سپس وقتی سشن های کاربرا تو دیتابیس ذخیره میشند..
شما اون رکورد ها رو برای هر کاربر در پنل کاربریش نمایش میدی

برای نشست های غیرفعال منطقیه که مقدار userid برابر null باشه..
فیلد ipaddress هم در جدول sessions هست
میتونی از طریق اون فیلد، تمام نشست های یک IP رو بدست بیاری

شما وقتی که درایور سیستم سشن رو تغییر میدی
یعنی هر گونه سشن در سیستم، به شکل دیگه ای ذخیره میشه
پر هر سشنی باشه فرقی نداره

مدت زمان هم قابل تنظیمه
config\session.php

  /*
    |--------------------------------------------------------------------------
    | Session Lifetime
    |--------------------------------------------------------------------------
    |
    | Here you may specify the number of minutes that you wish the session
    | to be allowed to remain idle before it expires. If you want them
    | to immediately expire on the browser closing, set that option.
    |
    */

    'lifetime' => env('SESSION_LIFETIME', 120),

(اگر پاسخ کاربردی بود لطفا ان را به عنوان پاسخ برتر انتخاب کنید تا دوستان متوجه بشن بحث تموم شده با تشکر)


محمد
تخصص : Laravel
@mprogrammer7 3 سال پیش مطرح شد
0

سلام
فایل .env
SESSION_DRIVER=database
php artisan session:table
php artisan migrate
با این دستورات سشن های کاربران در دیتابیس ذخیره میشه و user_id اون ها
برای نمایش هم میتونی هر کاربر سشن هاشو بگیری و نمایش بدی
برای نمایش این پکیج نصب کن تا نوع مروگر دستگاه کاربر و جززیات رو نشون بدی
https://github.com/jenssegers/agent


            @foreach($sessions as $ses)
                @php

                    $agent = new \Jenssegers\Agent\Agent();
                    $agent->setUserAgent($ses->user_agent);

                @endphp
                <tr>
                    <td>{{ $ses->ip_address }}</td>
                    <td>{{ $agent->device() }}</td>
                    <td>{{ $agent->browser() }}</td>
                    <td>{{ $agent->platform() }}</td>
                    <td>{{ jdate($ses->last_activity)->format('%d %B %Y - H:i:s') }}</td>
                    <td>
                        <button class="btn btn-danger btn-sm" wire:click="DeleteSession('{{  $ses->id }}')">حذف</button>
                    </td>
                </tr>
                @endforeach

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

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