วิธี จำกัด การเข้าถึง URL ของโหนดโดยตรงที่แสดงในแกลเลอรีวิดีโอที่สร้างด้วย Views อย่างไร


10

ผมได้ทำแกลเลอรี่วิดีโอโดยใช้ชม แต่ฉันต้องการให้หน้าเว็บนั้นเป็นสาธารณะและป้องกันการเข้าถึงวิดีโอแต่ละรายการเท่านั้น

วิดีโอจะต้องสร้างเป็นเนื้อหาประเภทหนึ่งดังนั้นพวกเขาทั้งหมดจึงสามารถเข้าถึง ULR ได้เช่น/content/video-1และอื่น ๆ

คำตอบ:


5

ลองใช้โมดูลการเข้าถึงเนื้อหาและป้องกันการเข้าถึงvideoเนื้อหาทีละรายการ (หรือคุณสามารถตั้งค่าการเข้าถึงได้ตามที่คุณต้องการroles)

โมดูลนี้ช่วยให้คุณสามารถจัดการการอนุญาตสำหรับประเภทเนื้อหาตามบทบาทและผู้เขียน ช่วยให้คุณระบุมุมมองที่กำหนดเองแก้ไขและลบสิทธิ์สำหรับเนื้อหาแต่ละประเภท คุณสามารถเปิดใช้งานตามการตั้งค่าการเข้าถึงเนื้อหาเพื่อให้คุณสามารถกำหนดการเข้าถึงสำหรับแต่ละโหนดเนื้อหา

นอกจากนี้คุณสามารถใช้โหนดดูสิทธิ์โมดูล Content access moduleแต่ผมขอแนะนำให้ใช้

(ถ้าคุณต้องการทำงานกับ drupal สำหรับอนาคตจะดีกว่าการเกี่ยวข้องกับโมดูลที่มีประโยชน์นี้)


เกือบสิ่งที่ฉันต้องการ ในที่สุดฉันก็ควบคุมการเข้าถึงผ่านระดับต่ำเพราะต้องการเปลี่ยนเส้นทางไปยังหน้าแรกในบางกรณี 404 ในที่อื่น ๆ ดังนั้นฉันจึงควบคุมได้ดีกว่า แต่ฉันคิดว่าโมดูลนี้สามารถทำงานได้ในหลายกรณี อาจมีการปรับที่ดีขึ้นในกรณีของฉัน แต่ไม่มีเวลาตรวจสอบ
Cesar

3

ติดตั้งโมดูลสิทธิ์ในการดูโหนด

โมดูลการอนุญาตมุมมองโหนดเปิดใช้งานการอนุญาต "ดูเนื้อหาของตัวเอง" และ "ดูเนื้อหาใด ๆ " สำหรับแต่ละประเภทเนื้อหาบนหน้าการอนุญาตเหมือนใน Drupal 6

ตอนนี้ได้รับอนุญาตกลับไปข้างหน้าและลบดูเนื้อหาใดได้รับอนุญาตจากประเภทของเนื้อหาวิดีโอสำหรับผู้ใช้ที่ไม่ระบุชื่อ

ในกรณีที่คุณต้องการให้ผู้ใช้ที่ไม่ระบุชื่อสามารถเข้าถึงวิดีโอจากแกลเลอรีวิดีโอเพียงไม่กี่รายการให้ติดตั้งโมดูลปฏิเสธการเข้าถึง


1

เพียงอัปเดตประเภทเนื้อหาของคุณ

  1. เพิ่มฟิลด์ตัวเลขเช่นdisplay_orderเป็นต้น

  2. กำหนดค่าของฟิลด์นี้เฉพาะวิดีโอที่คุณต้องการแสดง

  3. ไปที่การตั้งค่ามุมมองของคุณและตั้งค่า;

    ใช้เพจเจอร์: แสดงจำนวนรายการ | x รายการ

    โดยที่ x คือวิดีโอหมายเลขที่คุณต้องการแสดง

  4. จากนั้นใช้การเรียงลำดับตามลำดับการแสดงผล

หวังว่ามันจะทำงาน


1

ฉันคิดว่าโมดูลRabbit Holeทำสิ่งที่คุณต้องการอย่างแน่นอน นี่คือข้อความที่ตัดตอนมาจากหน้าคำอธิบายของโมดูลที่ตอบสนองความต้องการของคุณ โชคดี.

Rabbit Hole เป็นโมดูลที่เพิ่มความสามารถในการควบคุมสิ่งที่จะเกิดขึ้นเมื่อมีการดูเอนทิตีในหน้าของตัวเอง

บางทีคุณอาจมีประเภทเนื้อหาที่ไม่ควรแสดงในหน้าของตัวเองเช่นประเภทเนื้อหารูปภาพที่แสดงในภาพหมุน Rabbit Hole สามารถป้องกันไม่ให้โหนดนี้สามารถเข้าถึงได้ในหน้าของตัวเองผ่านทางโหนด / xxx


1

ไปหาโมดูลของหลุมกระต่ายมันทำเหมือนกันทุกประการ เนื้อหาทั้งหมดสามารถเข้าถึงได้ผ่านการดู / รหัส แต่เมื่อคุณพยายามเข้าถึงหน้ารายละเอียด "เนื้อหา / ***" เป็นการปฏิเสธการเข้าถึงหรือคุณสามารถตั้งค่าการเปลี่ยนเส้นทาง


ฉันจะให้มันขี่ขอบคุณ ในตอนนี้ฉันได้แก้ไขมันในระดับต่ำ แต่มันเป็นการดีที่สุดที่จะรู้ว่าโมดูลที่กำหนดเองได้ทำไปแล้ว
Cesar

0

1) สร้างฟิลด์ค่าบูลีนในประเภทเนื้อหาของคุณ

2) หากเลือกค่าเป็นจริงควรเพิ่มคลาสที่ไม่ซ้ำกันลงในฟิลด์วิดีโอนั้นหากเลือกค่าเป็นเท็จไม่ควรเพิ่มคลาสลงในฟิลด์วิดีโอนั้น

3) เขียนCSSเพื่อซ่อนวิดีโอที่ไม่มีคลาส


0

การใช้โมดูลกฎคุณสามารถใช้กฎที่มีลักษณะคล้ายกับสิ่งนี้:

{ "rules_disallow_accesss_to_selected_urls" : {
    "LABEL" : "Disallow access to selected URLs",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "rules" ],
    "ON" : { "init" : [] },
    "IF" : [
      { "text_matches" : {
          "text" : [ "site:current-page:url" ],
          "match" : "content\/video-1",
          "operation" : "regex"
        }
      }
    ],
    "DO" : [
      { "drupal_message" : {
          "message" : "Sorry, access to URLs like [site:current-page:url] is not allowed ...",
          "type" : "error"
        }
      },
      { "redirect" : { "url" : "no_access" } }
    ]
  }
}

ทุกคนที่พยายามเข้าถึงพา ธ ที่เกี่ยวข้องcontent/video-1จะถูกเปลี่ยนเส้นทางไปยังเพจที่มีพา ธno_accessและข้อความแสดงข้อผิดพลาดที่เกี่ยวข้องจะปรากฏขึ้น (ปรับพา ธ นี้เพื่อให้พอดีกับอนุสัญญาของคุณและตรวจสอบข้อความที่จะแสดง)

กฎข้างต้นจะ จำกัด การเข้าถึงเส้นทางสัมพัทธ์เท่านั้นcontent/video-1(ดังเช่นในคำถามของคุณ) หากคุณต้องการที่จะขยายกฏเป็น URL ที่คล้ายกันให้เปลี่ยน content\/video-1เป็นสิ่งที่ชอบcontent\/video-\\d+$หรือรูปแบบใด ๆ ที่เหมาะกับแผนการตั้งชื่อเส้นทางของคุณ

กฎข้างต้นยังไม่ได้พิจารณาถึงเพื่อใช้กฎการกระทำสำหรับผู้ใช้ที่มีบทบาทที่เลือกเท่านั้น แต่สำหรับทุกคนที่คุ้นเคยกับโมดูลกฎนั่นคือ "เงื่อนไข" ที่จะเพิ่ม ... เช่น: ข้ามการกระทำของกฎสำหรับผู้ใช้ที่มีบทบาทเช่นผู้ดูแลระบบผู้ดูแลระบบ ฯลฯ ซึ่งคุณสามารถทำได้โดยการเพิ่มกฎ เงื่อนไขเช่น "ผู้ใช้ไม่มีผู้ดูแลบทบาท (และ / หรือบรรณาธิการ)" ด้วยวิธีดังกล่าวผู้ใช้พิเศษเหล่านั้นยังสามารถดูโหนดดังกล่าวได้ (โดยไม่มีเงื่อนไขพิเศษพวกเขายังไม่สามารถดูโหนดดังกล่าวอีกต่อไป ... )

ในการทดสอบกับกฎนี้ในเว็บไซต์ของคุณเพียงคัดลอกรหัสกฎทั้งหมดด้านบนและวางในกฎใหม่ในเว็บไซต์ของคุณสร้างขึ้นผ่านฟังก์ชั่น "นำเข้า" (พร้อมใช้งานถ้าเปิดใช้งาน UI UI) จากนั้นแก้ไข / ปรับแต่งเพิ่มเติมเพื่อให้เหมาะสมกับสภาพแวดล้อมของคุณ (เช่นข้อความ "ขออภัย ... " ที่จะแสดง)

การปรับแต่งเพิ่มเติม

หนึ่งในคำตอบอื่น ๆ ที่คุณเพิ่มความคิดเห็นซึ่งรวมถึง:

... ฉันต้องการเปลี่ยนเส้นทางไปยังหน้าแรกในบางกรณี 404 ในที่อื่น ๆ ดังนั้นฉันจึงควบคุมได้ดีกว่า ...

หากนั่นคือสิ่งที่คุณต้องการทำคุณสามารถปรับแต่งกฎการกระทำข้างต้นได้โดยการเพิ่มโมดูลกฎตามเงื่อนไข ด้วยสิ่งนี้สำหรับ "บางกรณี" ของคุณคุณสามารถระบุ URL ที่เหมาะสมเพื่อเปลี่ยนเส้นทาง อ้างถึงคำตอบของฉันเพื่อ " วิธีการตั้งค่าของบางฟิลด์ขึ้นอยู่กับค่าของกล่องรายการหรือไม่ " สำหรับภาพประกอบของวิธีการใช้โมดูลนี้ภายในการกระทำของกฎ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.