Tüm aktif kullanıcılar nasıl kapatılır?


15

Sitemi "bakım moduna" koymak yerine tam bir "salt okunur moda" koymak istiyorum. Bunun için bir modül var, ancak sadece "düğüm ekleme ve düzenleme" yi engelliyor. Temelde sitenin (vernik) önbellekten sunulmasını sağlamak için giriş ve kayıt da dahil olmak üzere tüm kullanıcı faaliyetlerini önlemek istiyorum. Yan fayda olarak site istekleri ile su basarsa ben "salt okunur mod" bu tür kullanabilirsiniz.

Sorum: Tüm aktif kullanıcıları nasıl kapatabilirim? Giriş ve kayıtlar daha sonra bir kanca ile yönlendirebilirim.

Yanıtlar:


13

Bildiğim kadarıyla oturumlar tablosunu boşaltabilirsiniz ve tüm kullanıcılar oturumu kapatır. Yüklediğiniz modüllere bağlı olarak bir sorun olabilir. Örneğin, uygulayan modüller hook_user_logout()eylemlerini hiçbir zaman tetiklemeyecektir, bu bir sorun olabilir. Takılı modüllerin hiçbirinin bu kancayı uygulamadığından emin olun.


4
@ F1234k'nin söylediği gibi, oturum tablosunun silinmesi asla hook_user_logout () işlevini tetiklemez. Ancak, sadece kendiniz tetikleyebilirsiniz. Oturumlar tablosundan tüm kullanıcı adlarını seçin ve her biri için `module_invoke_all ('user_logout', $ user);` i yürütün. Yine de oturumları 1 saatten fazla açık olanlara göre filtreleyebilirsiniz (Drupal'daki oturumlar sınırsız olarak etkin kalabilir).
Alexandru Savin

Teşekkürler. Çıkış kancalarını ateşlemem gerekecek, aksi takdirde "kalıcı giriş" modülü ile giriş yapmış kullanıcılar için bir WSOD alıyorum.
uwe

13

Oturum tablosunu drush kullanarak boşaltabilirsiniz

drush sqlq "TRUNCATE sessions"

veya tablo adları için önek ayarladıysanız:

drush sqlq --db-prefix "TRUNCATE {sessions}"

0

Bir güncelleme kancasıyla tüm kullanıcıların oturumunu kapatmaya zorlayabilirsiniz:

/**
 * Force to logout all the users.
 */
function mymodule_update_7001() {
  db_truncate('sessions')->execute();
}

0

Çıkış Yapmaya Zorla Modülünü Kullan ..

Özellikleri

  • Etkinleştirip devre dışı bırakabileceğiniz ayarlar formu (Oturumu kapatmaya zorla).
  • Örneğin yöneticiyi hariç tutmak istiyorsanız bazı kullanıcı rollerini hariç tutabilmeniz için izin.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.