ארכיון תגיות: inactivity

להוציא את המשתמש אוטומטית לאחר זמן מה ללא פעילות ( jquery plugin inactivity )

באפליקציות אינטרנט שמצריכות כניסה – יש עניין שבצד השרת – מנוהל לרוב Session

ולא נרצה שהמשתמש ישאיר את התוכנה פתוחה ואולי משתמש אחר יגיע למחשב וישתמש בתוכנה בשמו של הראשון, ללא ידיעתו.

כדי לתת מענה לכך – אז בפריימוורקים של צד שרת , בדרך כלל אפשר לזהות אם פג תוקף ה- Session ואז לעשות redirect למשתמש.

אבל במקרה של שימוש ב- Ajax או אפליקציה שבנויה עם פרייוורק JS, צריך פתרון גם ברמת צד הלקוח.

יש הרבה פתרונות JS

אני מצאתי שהתוסף הבא ל- Jquery הכי נוח.

קישור לתוסף ב- Githut

קוד להמחשה ( במצב פרודקשיין, אולי כדאי לעשות קריאת אגקס לשרת, לבדוק אם ה Session בתוקף, אבל הקוד יעבוד היטב גם בלי זה )

הערה : השורה הראשונה מושכת את הסקריפט, אני עובד עם Laravel בצד שרת, ולכן הפקודה asset – וסימני הסוגרים המסולסלים ( כנ"ל בשורה האחרונה ) .

<!-- jquery inactivity -->
<script src="{{ asset('js/jquery-inactivity/jquery.inactivity.min.js') }}">



</script>
<script>
    // https://github.com/afklondon/jquery.inactivity
    $(document).inactivity( {
        interval: 1800000, // the timeout until the inactivity event fire [default: 3000]
        mouse: true, // listen for mouse inactivity [default: true]
        keyboard: true, // listen for keyboard inactivity [default: true]
        touch: true, // listen for touch inactivity [default: true]
        customEvents: "", // listen for custom events [default: ""]
        triggerAll: false , // if set to false only the first "activity" event will be fired [default: false]
    });
    $(document).on("inactivity", function(){
        // function that fires on inactivity
        console.log('loged out beacuse of inactivity');
        window.location = "{{ route('logout') }}";
    });


</script>