अनाम मॉड्यूल को नियम मॉड्यूल का उपयोग करके लॉगिन पृष्ठ पर रीडायरेक्ट कैसे करें?


12

मैं अनाम पृष्ठ पर उपयोगकर्ता को लॉगिन पृष्ठ पर पुनर्निर्देशित करने के लिए ड्रूपल 7 के साथ नियम मॉड्यूल का उपयोग कर रहा हूं, इसलिए मैंने घटना पर प्रतिक्रिया के साथ एक नियम बनाया "ड्रुपल इनिशियलाइज़ कर रहा है", शर्त "यूजर की भूमिका" अनाम उपयोगकर्ता के साथ है और "साइट लॉगिन यूआरएल नहीं है" ", फिर साइट लॉगिन url में एक क्रिया" पृष्ठ पुनर्निर्देशित "जोड़ा। जब मैंने नियम का परीक्षण करने की कोशिश की; drupal ने अपाचे सर्वर पर काम करना बंद करने तक लॉगिन पेज पर रीडायरेक्ट किया। कोई सिफारिश।


क्या अनाम उपयोगकर्ता साइट सामग्री का पता लगा सकता है? लॉगिन पेज को पुनर्निर्देशित करने के लिए किस कारण की आवश्यकता है?

अनाम उपयोगकर्ताओं को किसी भी साइट की सामग्री का पता लगाने की अनुमति नहीं है और निमंत्रण के अलावा पंजीकरण की अनुमति नहीं है। उपयोगकर्ताओं को साइट का उपयोग करने के लिए लॉगिन करना होगा।
अभ्युदय 1

मुझे समझ नहीं आता कि यह नियम "ड्रुपल बिना लॉगिन पेज पर रीडायरेक्ट किए रखा गया है।" क्या आप बता सकते हैं कि आपका क्या मतलब है? अन्यथा मुझे यकीन नहीं है कि मैं समझता हूं कि कौन सा हिस्सा काम नहीं कर रहा है।
बोरियाना डायचेवा

जब मैं मुखपृष्ठ या किसी अन्य पृष्ठ पर जाता हूं, लेकिन लॉगिन पृष्ठ पर नहीं तो नियम ठीक काम करता है; उपयोगकर्ता को लॉगिन पृष्ठ पर पुनर्निर्देशित करता है, हालांकि जब तक अपाचे काम करना बंद नहीं कर देता, तब तक ब्राउज़र लॉगिन पृष्ठ पर बार-बार पुनर्निर्देशित करता रहता है।
२०:०२ पर एबड्रेड १

यदि अनाम उपयोगकर्ताओं को किसी भी साइट सामग्री का पता लगाने की अनुमति नहीं है, तो सामग्री को देखने की अनुमति को हटा दें
monymirza

जवाबों:


12

जिस तरह से मैंने इसे हल किया वह इस प्रकार है:

  • घटनाएँ: द्रुपाल आरम्भिक हैं
  • शर्तेँ:

    1. उपयोगकर्ता की भूमिका है -Parameter: User: [site:current-user], Roles: anonymous user
    2. पाठ तुलना नहीं -Parameter: Text: [site:current-page:url], Matching text: user/login
  • क्रिया: पृष्ठ पुनर्निर्देशित -Parameter: URL: user/login


निर्यात नियम का पालन करें:

{ "rules_login" : {
    "LABEL" : "login",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "TAGS" : [ "login" ],
    "REQUIRES" : [ "rules" ],
    "ON" : { "init" : [] },
    "IF" : [
      { "user_has_role" : {
          "account" : [ "site:current-user" ],
          "roles" : { "value" : { "1" : "1" } }
        }
      },
      { "NOT text_matches" : { "text" : [ "site:current-page:url" ], "match" : "user\/login" } }
    ],
    "DO" : [ { "redirect" : { "url" : "user\/login" } } ]
  }
}

@TopTomato यह ड्रुपल 7 के लिए है
Aboodred1

मैंने एक त्रुटि की और यह काम कर रहा है।
टॉपटोमेटो

@TopTomato बहुत बढ़िया! खुशी है कि यह आपके लिए कारगर रहा।
अब्दुर्दे 1

3

/admin/people/permissionsअनाम उपयोगकर्ताओं के लिए प्रकाशित सामग्री अनचेक करें पर जाएं

यहाँ छवि विवरण दर्ज करें

अब /admin/config/system/site-informationपृष्ठ फ़ील्ड में (एक्सेस अस्वीकृत) पृष्ठ में 'उपयोगकर्ता' जोड़ें

यहाँ छवि विवरण दर्ज करें


चारों ओर अच्छा काम, लेकिन मुझे अभी भी एक्सेस अस्वीकृत पृष्ठ दिखाने की आवश्यकता है क्योंकि सभी उपयोगकर्ताओं के पास एक ही अनुमति नहीं है। तुम्हारी सहायता सराहनीय है।

उसके बाद 'उपयोगकर्ता' को दूसरे चरण पर पृष्ठ फ़ील्ड से हटा दें
monymirza

अगर मैं इसे हटाता हूं; अनाम उपयोगकर्ताओं को केवल प्रवेश पृष्ठ पर पुनर्निर्देशित किए बिना प्रवेश निषेध देखा जा सकता है। मुझे यकीन है कि वहाँ एक तरह से मैं इसे नियम मॉड्यूल में कर सकता हूं
Aboodred1

हाँ। आगे नियम मॉड्यूल द्वारा किया जा सकता है। आप इसे ट्रिगर कोर मॉड्यूल के माध्यम से भी कर सकते हैं।
मॉनमिरज़ा

1
यदि किसी के पास पहुंच से वंचित है तो इसका मतलब यह नहीं है कि वे लॉग इन नहीं हैं। इस उत्तर को देखें
तनवीर अहमद

1

मुझे यकीन है कि आप इसे नियमों के साथ खींच सकते हैं, लेकिन यह आपके विषय के टेम्पलेट में भी करना आसान होगा। साथ ही फ़ाइल।

कुछ इस तरह काम करना चाहिए:

global $user;
if ($user->uid == 0 && arg(0) != 'user' && arg(1) != 'login'){
  drupal_goto('user/login');
}

या, यदि उपयोगकर्ता / पंजीकरण और उपयोगकर्ता / पासवर्ड पृष्ठों तक पहुंच अभी भी चाहता है:

global $user;
if ($user->uid == 0 && arg(0) != 'user'){
  drupal_goto('user/login');
}

धन्यवाद @ धन्यवाद मैं अपना प्रश्न पोस्ट करने से पहले ही इसका समाधान पा गया। मैं नियम मॉड्यूल का उपयोग करना चाहता हूं या कम से कम यह समझना चाहता हूं कि "ड्रुपल इनिशियलाइज़िंग" के साथ काम क्यों नहीं कर रहा है
Aboodred1

@ चांस, मैं उत्सुक हूं। यह .theme फ़ाइल के भीतर कहाँ रहेगा?
टिकैले

0

यहाँ समस्या सवाल में घटना है। इसके बजाय Drupal is initializing, प्रयास करें Content is viewed


मैंने इस प्रश्न को पोस्ट करने से पहले इसकी कोशिश की और यह मेरे साथ दृश्य पृष्ठों, पंजीकरण पृष्ठ, मूल रूप से कोई भी पृष्ठ जो नोड नहीं है, को छोड़कर मेरे साथ ठीक काम किया।
एब्रेड्रेड 1

0

मुझे पता है यह दो साल पहले की पोस्ट है। हालाँकि, नियमों के साथ उपयोगकर्ता लॉगिन पृष्ठ पर एक अनाम उपयोगकर्ता को पुनर्निर्देशित करने का समाधान निम्नानुसार है:

  • घटना: सिस्टम लॉग प्रविष्टि बनाई गई है
  • शर्त: उपयोगकर्ता की भूमिका है: अनाम
  • क्रिया: पृष्ठ पुनर्निर्देशित मूल्य: उपयोगकर्ता

आशा है कि यह किसी की मदद करेगा।


क्या आपने अपने समाधान की कोशिश की है इससे पहले कि आप इसे यहाँ पोस्ट करें?
एब्रेड्रेड 1
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.