Score:0

จะจำกัดการเข้าถึงหน้า Views ของบัญชีผู้ใช้ได้อย่างไร?

ธง cn

ฉันสร้างหน้ามุมมองด้วยแท็บในบัญชีผู้ใช้

ปัญหา: ถ้าฉันเป็นผู้ใช้ 3 และฉันไปที่หน้าของผู้ใช้ 56, ฉันได้เข้าถึงหน้า

ฉันค้นหาในตัวกรองบริบทในหน้ามุมมองแล้ว และไม่มีการตั้งค่าเพื่อจำกัดสิ่งนี้

ฉันจะจำกัดการเข้าถึงหน้า Views ของบัญชีผู้ใช้ได้อย่างไร? ผู้ใช้ปัจจุบันต้องมีสิทธิ์เข้าถึงทุกหน้าในบัญชีของตนเอง แต่เข้าถึงหน้าของผู้ใช้รายอื่นไม่ได้

แก้ไข

นี่คือหน้าการดูที่เรียบง่ายมากสำหรับบัญชีผู้ใช้ ฉันจะแสดงหน้า 403 ได้อย่างไร ถ้าฉันไปที่หน้าผู้ใช้อื่น ?

ตัวอย่าง :

ฉันคือ ID ผู้ใช้:88 ฉันมีสิทธิ์เข้าถึงเพจ /user/88/demo

ฉันต้องไม่มีสิทธิ์เข้าถึง /user/69/demo

ใช้: faef0cd7-9481-4a11-920e-77b683989956
รหัสภาษา: fr
สถานะ: จริง
การพึ่งพา:
  การกำหนดค่า:
    - core.entity_view_mode.node.teaser
  โมดูล:
    - โหนด
    - ผู้ใช้
รหัส: สาธิต
ป้ายกำกับ: สาธิต
โมดูล: มุมมอง
คำอธิบาย: ''
แท็ก: ''
base_table: node_field_data
base_field: นิด
แสดง:
  ค่าเริ่มต้น:
    รหัส: เริ่มต้น
    display_title: ค่าเริ่มต้น
    display_plugin: ค่าเริ่มต้น
    ตำแหน่ง: 0
    display_options:
      หัวเรื่อง: การสาธิต
      เขตข้อมูล:
        ชื่อ:
          รหัส: ชื่อเรื่อง
          ตาราง: node_field_data
          ฟิลด์: ชื่อเรื่อง
          ความสัมพันธ์ : ไม่มี
          group_type: กลุ่ม
          admin_label: ''
          entity_type: โหนด
          entity_field: ชื่อเรื่อง
          plugin_id: ฟิลด์
          ฉลาก: ''
          ไม่รวม: เท็จ
          แก้ไข:
            alter_text: เท็จ
            make_link: เท็จ
            แน่นอน: เท็จ
            word_boundary: เท็จ
            จุดไข่ปลา: เท็จ
            strip_tags: เท็จ
            ตัดแต่ง: เท็จ
            html: เท็จ
          element_type: ''
          element_class: ''
          element_label_type: ''
          element_label_class: ''
          element_label_colon: จริง
          element_wrapper_type: ''
          element_wrapper_class: ''
          element_default_classes: จริง
          ว่างเปล่า: ''
          Hide_empty: เท็จ
          empty_zero: เท็จ
          Hide_alter_empty: จริง
          click_sort_column: ค่า
          ประเภท: สตริง
          การตั้งค่า:
            link_to_entity: จริง
          group_column: ค่า
          group_columns: { }
          group_rows: จริง
          delta_limit: 0
          delta_offset: 0
          delta_reversed: เท็จ
          delta_first_last: เท็จ
          multi_type: ตัวคั่น
          ตัวคั่น: ', '
          field_api_classes: เท็จ
      เพจเจอร์:
        ประเภท: มินิ
        ตัวเลือก:
          ออฟเซ็ต: 0
          items_per_page: 10
          total_pages: null
          รหัส: 0
          แท็ก:
            ถัดไป: âºâº
            ก่อนหน้านี้: â¹â¹
          เปิดเผย:
            items_per_page: เท็จ
            items_per_page_label: 'รายการต่อหน้า'
            items_per_page_options: '5, 10, 25, 50'
            items_per_page_options_all: เท็จ
            items_per_page_options_all_label: '- ทั้งหมด -'
            ออฟเซ็ต: เท็จ
            offset_label: ออฟเซ็ต
      เปิดเผย_รูปแบบ:
        ประเภท: พื้นฐาน
        ตัวเลือก:
          submit_button: สมัคร
          reset_button: เท็จ
          reset_button_label: รีเซ็ต
          Exposure_sorts_label: 'จัดเรียงตาม'
          expose_sort_order: จริง
          sort_asc_label: ลำดับที่
          sort_desc_label: อธิบาย
      เข้าไป:
        ประเภท: ดัด
        ตัวเลือก:
          ใบอนุญาต: 'เข้าถึงเนื้อหา'
      แคช:
        ประเภท: แท็ก
        ตัวเลือก: {  }
      ว่างเปล่า: {  }
      ประเภท:
        สร้าง:
          ไอดี: สร้างแล้ว
          ตาราง: node_field_data
          ฟิลด์: สร้างแล้ว
          ความสัมพันธ์ : ไม่มี
          group_type: กลุ่ม
          admin_label: ''
          entity_type: โหนด
          entity_field: สร้างแล้ว
          plugin_id: วันที่
          สั่งซื้อ: DESC
          เปิดเผย:
            ฉลาก: ''
            field_identifier: ''
          เปิดเผย: เท็จ
          ความละเอียด: วินาที
      ข้อโต้แย้ง:
        uid:
          ไอดี: ไอดี
          ตาราง: node_field_data
          สนาม: uid
          ความสัมพันธ์ : ไม่มี
          group_type: กลุ่ม
          admin_label: ''
          entity_type: โหนด
          entity_field: uid
          plugin_id: ตัวเลข
          default_action: ค่าเริ่มต้น
          ข้อยกเว้น:
            มูลค่า: ทั้งหมด
            title_enable: เท็จ
            หัวเรื่อง : ทั้งหมด
          title_enable: เท็จ
          ชื่อ: ''
          default_argument_type: ผู้ใช้
          default_argument_options:
            ผู้ใช้: เท็จ
          default_argument_skip_url: เท็จ
          สรุป_ตัวเลือก:
            base_path: ''
            นับ: จริง
            แทนที่: เท็จ
            items_per_page: 25
          สรุป:
            sort_order: ตามลำดับ
            number_of_records: 0
            รูปแบบ: default_summary
          specification_validation: เท็จ
          ตรวจสอบความถูกต้อง:
            ประเภท: ไม่มี
            ล้มเหลว: 'ไม่พบ'
          validate_options: { }
          break_phrase: เท็จ
          ไม่: เท็จ
        uid_1:
          รหัส: uid_1
          ตาราง: node_field_data
          สนาม: uid
          ความสัมพันธ์ : ไม่มี
          group_type: กลุ่ม
          admin_label: ''
          entity_type: โหนด
          entity_field: uid
          plugin_id: ตัวเลข
          default_action: เพิกเฉย
          ข้อยกเว้น:
            มูลค่า: ทั้งหมด
            title_enable: เท็จ
            หัวเรื่อง : ทั้งหมด
          title_enable: เท็จ
          ชื่อ: ''
          default_argument_type: แก้ไข
          default_argument_options:
            การโต้แย้ง: ''
          default_argument_skip_url: เท็จ
          สรุป_ตัวเลือก:
            base_path: ''
            นับ: จริง
            แทนที่: เท็จ
            items_per_page: 25
          สรุป:
            sort_order: ตามลำดับ
            number_of_records: 0
            รูปแบบ: default_summary
          specification_validation: จริง
          ตรวจสอบความถูกต้อง:
            ประเภท: 'เอนทิตี: ผู้ใช้'
            ล้มเหลว: 'การเข้าถึงถูกปฏิเสธ'
          validate_options:
            การเข้าถึง: จริง
            การทำงาน: ปรับปรุง
            หลายรายการ: 0
            limit_roles: เท็จ
            บทบาท: { }
          break_phrase: เท็จ
          ไม่: เท็จ
      ตัวกรอง:
        สถานะ:
          รหัส: สถานะ
          ตาราง: node_field_data
          ฟิลด์: สถานะ
          entity_type: โหนด
          entity_field: สถานะ
          plugin_id: บูลีน
          ค่า: '1'
          กลุ่ม: 1
          เปิดเผย:
            ตัวดำเนินการ: ''
            operation_limit_selection: เท็จ
            operation_list: { }
      สไตล์:
        ประเภท: ค่าเริ่มต้น
      แถว:
        ประเภท: 'เอนทิตี: โหนด'
        ตัวเลือก:
          view_mode: ทีเซอร์
      แบบสอบถาม:
        พิมพ์: views_query
        ตัวเลือก:
          query_comment: ''
          ปิดการใช้งาน_sql_rewrite: เท็จ
          แตกต่าง: เท็จ
          แบบจำลอง: เท็จ
          query_tags: { }
      ความสัมพันธ์: { }
      หัวข้อ: {  }
      ส่วนท้าย: { }
      display_extenders: { }
    cache_metadata:
      อายุสูงสุด: -1
      บริบท:
        - 'ภาษา:language_content'
        - 'ภาษา:language_interface'
        - URL
        - url.query_args
        - 'user.node_grants:view'
        - user.permissions
      แท็ก: { }
  page_1:
    รหัส: page_1
    display_title: หน้า
    display_plugin: หน้า
    ตำแหน่ง : 1
    display_options:
      display_extenders:
        Simple_sitemap_display_extender: { }
        metatag_display_extender: { }
      เส้นทาง: ผู้ใช้/%ผู้ใช้/สาธิต
      เมนู:
        ประเภท: แท็บ
        หัวเรื่อง: การสาธิต
        คำอธิบาย: ''
        น้ำหนัก: 0
        ขยาย: เท็จ
        menu_name: หลัก
        พ่อแม่: ''
        บริบท: '0'
    cache_metadata:
      อายุสูงสุด: -1
      บริบท:
        - 'ภาษา:language_content'
        - 'ภาษา:language_interface'
        - URL
        - url.query_args
        - 'user.node_grants:view'
        - user.permissions
      แท็ก: { }
Score:0
ธง de

คุณสามารถทำสิ่งต่อไปนี้:

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

สิ่งนี้จะจำกัดการเข้าถึงของผู้ใช้เอง และ mods/admins ที่สามารถแก้ไขบัญชีของพวกเขาได้

ข้อควรพิจารณาอื่น ๆ

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

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

cn flag
ขอบคุณ ฉันอัปเดตคำถามด้วยตัวอย่าง หากฉันเพิ่มตัวกรองป๊อปอัปตัวที่สองกับโซลูชันของคุณ จะไม่ทำงาน
Jaypan avatar
de flag
ฉันไม่เข้าใจว่าหมายความว่าอย่างไร ตัวกรองป๊อปอัปที่สองคืออะไร
Jaypan avatar
de flag
ดูเหมือนว่าคุณยังไม่ได้ทำตามขั้นตอนจากตัวอย่างของฉัน: `specify_validation: false`
cn flag
ฉันส่งออกผิด ฉันอัปเดตแล้ว
cn flag
ในตัวอย่าง ฉันต้องการเพจที่มีเนื้อหาที่ผู้ใช้สร้างขึ้น และฉันต้องการว่าหากผู้ใช้ไปที่เพจเดียวกันในบัญชีอื่น เพจจะแสดงเพจ 403
Jaypan avatar
de flag
ตกลง. ทำตามคำแนะนำในตัวอย่างของฉันด้านบน
cn flag
ใช่ขอบคุณ ;-)

โพสต์คำตอบ

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