सभी सक्रिय उपयोगकर्ताओं को लॉगआउट कैसे करें?


15

अपनी साइट को "रखरखाव मोड" में रखने के बजाय मैं इसे पूरी तरह से "आसानी से" मोड में रखना चाहूंगा। इसके लिए एक मॉड्यूल है, हालांकि, यह केवल "नोड ऐड और एडिट" को रोकता है। मैं मूल रूप से साइट को (वार्निश) कैश से प्राप्त करने के लिए लॉगिन और पंजीकरण सहित सभी उपयोगकर्ता गतिविधि को रोकना चाहूंगा। यदि साइड रिक्वेस्ट से मैं इस प्रकार के "रीड ओनली मोड" का उपयोग करता हूं, यदि साइट अनुरोधों से भर जाती है।

मेरा प्रश्न: मैं सभी सक्रिय उपयोगकर्ताओं को कैसे लॉगआउट कर सकता हूं? लॉगिन और पंजीकरण मैं फिर एक हुक के साथ पुनर्निर्देशित कर सकता हूं।

जवाबों:


13

जहां तक ​​मुझे पता है आप सत्र तालिका खाली कर सकते हैं और सभी उपयोगकर्ता लॉग आउट हो जाएंगे। हालाँकि, आपके द्वारा स्थापित मॉड्यूल के आधार पर कोई समस्या हो सकती है। उदाहरण के लिए, लागू करने वाले मॉड्यूल hook_user_logout()कभी भी अपने कार्यों को निकाल नहीं पाएंगे, जो एक मुद्दा हो सकता है। यह सुनिश्चित करने के लिए जांचें कि आपका कोई भी स्थापित मॉड्यूल इस हुक को लागू नहीं कर रहा है।


4
जैसा कि @ F1234k ने कहा, सत्र तालिका को हटाने से हुक_उसर_लॉगआउट () ट्रिगर नहीं होगा। लेकिन, आप इसे केवल अपने आप को ट्रिगर कर सकते हैं। सत्र तालिका से सभी यूआईडी का चयन करें और उनमें से प्रत्येक के लिए `मॉड्यूल_invoke_all ('user_logout, $ उपयोगकर्ता) का निष्पादन करें। यद्यपि आप उन लोगों द्वारा फ़िल्टर कर सकते हैं जिनके पास सत्र 1h से अधिक के लिए खोला गया है (Drupal में सत्र सक्षम असीम रह सकते हैं)।
अलेक्जेंड्रू साविन

धन्यवाद। मुझे लॉगआउट हुक को फायर करने की आवश्यकता होगी, अन्यथा मुझे "लगातार लॉगिन" मॉड्यूल से लॉग इन करने वाले उपयोगकर्ताओं के लिए एक WSOD मिलता है।
16

13

आप ड्रश का उपयोग करके सत्र तालिका खाली कर सकते हैं

drush sqlq "TRUNCATE sessions"

या यदि आपने तालिका नामों के लिए उपसर्ग निर्धारित किए हैं:

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

0

आप सभी उपयोगकर्ताओं को अपडेट हुक के माध्यम से लॉगआउट करने के लिए मजबूर कर सकते हैं:

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

0

बल लॉगआउट मॉड्यूल का उपयोग करें ..

विशेषताएं

  • सेटिंग्स फॉर्म जहां आप सक्षम और अक्षम कर सकते हैं (फोर्स लॉगआउट)।
  • यदि आप उदाहरण के लिए व्यवस्थापक को बाहर करना चाहते हैं तो अनुमति आप कुछ उपयोगकर्ता भूमिकाओं को बाहर कर सकते हैं।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.