Điểm:0

Làm cách nào để giới hạn quyền truy cập vào các trang Chế độ xem của tài khoản người dùng?

lá cờ cn

Tôi đã tạo trang Lượt xem với các tab trong tài khoản người dùng.

Vấn đề: Nếu tôi là người dùng 3 và tôi vào trang của người dùng 56, tôi có quyền truy cập vào trang.

Tôi đã tìm kiếm trong bộ lọc Ngữ cảnh trên trang Chế độ xem và không có cài đặt nào để giới hạn điều này.

Làm cách nào để giới hạn quyền truy cập vào các trang Chế độ xem của tài khoản người dùng? Người dùng hiện tại phải có quyền truy cập vào tất cả các trang trong tài khoản của mình, nhưng không truy cập vào các trang của người dùng khác.

CHỈNH SỬA

Đây là một trang Lượt xem rất đơn giản cho tài khoản người dùng. Làm cách nào để hiển thị trang 403 nếu tôi truy cập trang người dùng khác?

VÍ DỤ :

Tôi là ID người dùng:88 Tôi có quyền truy cập vào trang /user/88/demo

Tôi không được phép truy cập /user/69/demo

uuid: faef0cd7-9481-4a11-920e-77b683989956
mã ngôn ngữ: fr
trạng thái: đúng
phụ thuộc:
  cấu hình:
    - core.entity_view_mode.node.teaser
  mô-đun:
    - nút
    - người dùng
id: bản trình diễn
nhãn: Bản trình diễn
mô-đun: lượt xem
sự miêu tả: ''
nhãn: ''
cơ sở_bảng: node_field_data
cơ sở_field: không
trưng bày:
  mặc định:
    id: mặc định
    display_title: Mặc định
    display_plugin: mặc định
    vị trí: 0
    tùy chọn hiển thị:
      tiêu đề: Bản trình diễn
      lĩnh vực:
        Tiêu đề:
          id: tiêu đề
          bảng: node_field_data
          trường: tiêu đề
          mối quan hệ: không có
          nhóm_type: nhóm
          nhãn quản trị: ''
          entity_type: nút
          entity_field: tiêu đề
          plugin_id: trường
          nhãn mác: ''
          loại trừ: sai
          thay đổi:
            thay đổi văn bản: sai
            make_link: sai
            tuyệt đối: sai
            từ_ranh giới: sai
            dấu chấm lửng: sai
            dải_tags: sai
            cắt: sai
            html: sai
          loại nguyên tố: ''
          Element_class: ''
          Element_label_type: ''
          phần tử_nhãn_lớp: ''
          phần tử_nhãn_dấu hai chấm: đúng
          phần tử_wrapper_type: ''
          phần tử_wrapper_class: ''
          phần tử_default_classes: đúng
          trống rỗng: ''
          hide_empty: sai
          trống_zero: sai
          hide_alter_empty: đúng
          click_sort_column: giá trị
          loại: chuỗi
          cài đặt:
            link_to_entity: true
          nhóm_cột: giá trị
          nhóm_cột: { }
          nhóm_rows: đúng
          delta_limit: 0
          delta_offset: 0
          delta_reversed: sai
          delta_first_last: sai
          multi_type: dấu phân cách
          dấu phân cách: ','
          trường_api_classes: sai
      máy nhắn tin:
        loại: nhỏ
        tùy chọn:
          bù đắp: 0
          item_per_page: 10
          tổng_trang: null
          id: 0
          thẻ:
            tiếp theo: âºâº
            trước: â¹â¹
          lộ ra:
            items_per_page: sai
            items_per_page_label: 'Các mục trên mỗi trang'
            items_per_page_options: '5, 10, 25, 50'
            items_per_page_options_all: sai
            items_per_page_options_all_label: '- Tất cả -'
            bù đắp: sai
            offset_label: Độ lệch
      tiếp xúc_form:
        loại: cơ bản
        tùy chọn:
          submit_button: Áp dụng
          reset_button: sai
          reset_button_label: Đặt lại
          posed_sorts_label: 'Sắp xếp theo'
          phơi bày_sort_order: đúng
          sort_asc_label: Asc
          sort_desc_label: Desc
      quyền:
        loại: uốn
        tùy chọn:
          perm: 'truy cập nội dung'
      bộ đệm:
        loại: thẻ
        tùy chọn: {  }
      trống rỗng: {  }
      sắp xếp:
        tạo:
          id: đã tạo
          bảng: node_field_data
          trường: đã tạo
          mối quan hệ: không có
          nhóm_type: nhóm
          nhãn quản trị: ''
          entity_type: nút
          entity_field: đã tạo
          plugin_id: ngày
          đặt hàng: DESC
          lộ ra:
            nhãn mác: ''
            trường_identifier: ''
          tiếp xúc: sai
          độ chi tiết: thứ hai
      tranh luận:
        uid:
          id: uid
          bảng: node_field_data
          trường: uid
          mối quan hệ: không có
          nhóm_type: nhóm
          nhãn quản trị: ''
          entity_type: nút
          entity_field: uid
          plugin_id: số
          default_action: mặc định
          ngoại lệ:
            giá trị: tất cả
            title_enable: sai
            Tiêu đề: Tất cả
          title_enable: sai
          Tiêu đề: ''
          default_argument_type: người dùng
          default_argument_options:
            người dùng: sai
          default_argument_skip_url: sai
          tóm tắt_tùy chọn:
            cơ sở_path: ''
            đếm: đúng
            ghi đè: sai
            mục_per_page: 25
          tóm lược:
            sort_order: asc
            số_bản_ghi: 0
            định dạng: default_summary
          chỉ định_validation: sai
          xác thực:
            loại: không có
            thất bại: 'không tìm thấy'
          xác thực_tùy chọn: { }
          break_phrase: sai
          không: sai
        uid_1:
          id: uid_1
          bảng: node_field_data
          trường: uid
          mối quan hệ: không có
          nhóm_type: nhóm
          nhãn quản trị: ''
          entity_type: nút
          entity_field: uid
          plugin_id: số
          default_action: bỏ qua
          ngoại lệ:
            giá trị: tất cả
            title_enable: sai
            Tiêu đề: Tất cả
          title_enable: sai
          Tiêu đề: ''
          default_argument_type: đã sửa
          default_argument_options:
            tranh luận: ''
          default_argument_skip_url: sai
          tóm tắt_tùy chọn:
            cơ sở_path: ''
            đếm: đúng
            ghi đè: sai
            mục_per_page: 25
          tóm lược:
            sort_order: asc
            số_bản_ghi: 0
            định dạng: default_summary
          chỉ định_validation: đúng
          xác thực:
            gõ: 'thực thể: người dùng'
            thất bại: 'truy cập bị từ chối'
          xác thực_tùy chọn:
            truy cập: đúng
            hoạt động: cập nhật
            nhiều: 0
            giới hạn_vai trò: sai
            vai trò: { }
          break_phrase: sai
          không: sai
      bộ lọc:
        trạng thái:
          id: trạng thái
          bảng: node_field_data
          trường: trạng thái
          entity_type: nút
          entity_field: trạng thái
          plugin_id: boolean
          giá trị: '1'
          nhóm 1
          lộ ra:
            nhà điều hành: ''
            toán tử_limit_selection: sai
            toán tử_list: { }
      Phong cách:
        loại: mặc định
      hàng ngang:
        gõ: 'thực thể: nút'
        tùy chọn:
          view_mode: xem trước
      truy vấn:
        gõ: lượt xem_query
        tùy chọn:
          query_comment: ''
          vô hiệu hóa_sql_rewrite: sai
          khác biệt: sai
          bản sao: sai
          query_tags: { }
      các mối quan hệ: {  }
      tiêu đề: { }
      chân trang: { }
      display_extender: { }
    cache_metadata:
      tuổi tối đa: -1
      bối cảnh:
        - 'ngôn ngữ:ngôn ngữ_nội dung'
        - 'ngôn ngữ: language_interface'
        - url
        - url.query_args
        - 'user.node_grants:view'
        - Quyền Người dùng
      thẻ: { }
  trang_1:
    id: trang_1
    display_title: Trang
    display_plugin: trang
    vị trí: 1
    tùy chọn hiển thị:
      display_extender:
        simple_sitemap_display_extender: { }
        metatag_display_extender: { }
      đường dẫn: người dùng/% người dùng/bản trình diễn
      thực đơn:
        loại: tab
        tiêu đề: Bản trình diễn
        sự miêu tả: ''
        trọng lượng: 0
        mở rộng: sai
        menu_name: chính
        cha mẹ: ''
        bối cảnh: '0'
    cache_metadata:
      tuổi tối đa: -1
      bối cảnh:
        - 'ngôn ngữ:ngôn ngữ_nội dung'
        - 'ngôn ngữ: language_interface'
        - url
        - url.query_args
        - 'user.node_grants:view'
        - Quyền Người dùng
      thẻ: { }
Điểm:0
lá cờ de

Bạn có thể làm như sau:

  1. Trong bộ lọc Ngữ cảnh cho chế độ xem
  2. Kiểm tra chỉ định tiêu chí xác nhận
  3. Kiểm tra Xác thực người dùng có quyền truy cập vào Người dùng
  4. Dưới Thao tác truy cập để kiểm tra chọn chỉnh sửa.

Điều này sẽ giới hạn quyền truy cập đối với chính người dùng và các mod/quản trị viên có thể chỉnh sửa tài khoản của họ.

Những ý kiến ​​khác

Bạn có thể nới lỏng các quyền đó bằng cách chọn lượt xem cho hoạt động truy cập, tuy nhiên nếu người dùng được xác thực hoặc ẩn danh có quyền xem hồ sơ người dùng khác trên trang web, họ cũng sẽ có quyền truy cập vào chế độ xem/trang này. Đây có vẻ là tình huống trong câu hỏi ban đầu, vì vậy lượt xem sẽ không hoạt động cho OP. Nhưng đối với các trang web khác mà người dùng không thể truy cập hồ sơ của người dùng khác, đây có thể là một tùy chọn.

Ví dụ: có thể định cấu hình các quyền khác bằng cách tạo quyền tùy chỉnh mới (trong mô-đun) xem trang tùy chỉnh của tôivà thêm quyền đó dưới dạng quyền trên cài đặt quyền truy cập cho chế độ xem. Điều này sẽ bổ sung cho một cấp cấu hình truy cập bổ sung.

lá cờ cn
Cảm ơn, tôi đã cập nhật câu hỏi của mình bằng một ví dụ. Nếu tôi thêm bộ lọc bật lên thứ hai vào giải pháp của bạn, nó sẽ không hoạt động.
Jaypan avatar
lá cờ de
Tôi không hiểu điều đó có nghĩa là gì. Bộ lọc bật lên thứ hai là gì?
Jaypan avatar
lá cờ de
Điều này có vẻ như bạn chưa làm theo các bước từ ví dụ của tôi: `specify_validation: false`
lá cờ cn
Tôi đã xuất sai, tôi đã cập nhật
lá cờ cn
Trong ví dụ. Tôi muốn một trang có nội dung do người dùng tạo và tôi muốn rằng nếu người dùng truy cập cùng một trang trên một tài khoản khác thì trang đó sẽ hiển thị trang 403
Jaypan avatar
lá cờ de
Vâng. Thực hiện theo các hướng dẫn trong ví dụ của tôi ở trên.
lá cờ cn
Vâng, cảm ơn ;-)

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.