Merhaba,
Kullanıcınız birden fazla cihazla giriş yapamama veya eş zamanlı maksimum 1 oturum durumları gibi hedeflediğiniz eyleme göre bir senaryo belirlemelisiniz.
Her durumun avantajı ve dezavantajlarını düşünerek ilerleyin, kullanıcının cihazı hakkında bilgiler edinin (agent, ekran boyutu,dil gibi) bu aksiyonlar'a göre bir token oluşturma yapısı oluşturarak müşterinize ait aktif cihazı belirlemiş olursunuz sonraki login olacak kişi bunları desteklemiyorsa oturum başlamaz veya kullanıcı banlanarak session öldürülebilir.
Aktif oturum kontrolleri için sağladıgınız session veya tokene ait expire değerini baz alabilirsiniz, yada heartbeat dediğimiz olay ile belli aralıklarla sunucuya sinyal göndererek ilgili kullanıcının oturumunu denetlersiniz, bu denetime göre yeni login olacaksa yine sorgunuz net cevap verir.
Sunucu üzerinde ilgili session ile alakalı süregelen kullanıma bağlı kontrolde yaptırmanız mümkün, liste uzayıp gider.
İlgili aksiyonlarda, doğrudan MySQL ile ilişkilendirmek yerine bu tip aksiyonları redis veya memcache türevleri ile memory-caching felsefesini konuşturabilirsiniz bu sayede belirleyeceğiniz aksiyonlara göre sorgunun devamı MySQL yerine memory üzerinden dönecektir çok seçenekli bir konu akla gelenler birkaç kelimeyle bunlar.
Umarım yardımı olur.