Làm cách nào để hạn chế quyền truy cập trực tiếp vào URL của các nút được hiển thị trong thư viện video được tạo bằng Lượt xem?


10

Tôi đã thực hiện một bộ sưu tập video bằng cách sử dụng Lượt xem . Nhưng tôi chỉ muốn rằng trang có thể truy cập công khai và ngăn truy cập vào từng video riêng lẻ.

Các video phải được tạo như một loại nội dung, vì vậy tất cả chúng đều có các ULR có thể truy cập như /content/video-1, v.v.

Câu trả lời:


5

Hãy thử mô-đun truy cập nội dung và ngăn chặn quyền truy cập vào videonội dung riêng lẻ (hoặc bạn cũng có thể đặt quyền truy cập vào nội dung đó cho mình mong muốn roles)

Mô-đun này cho phép bạn quản lý quyền cho các loại nội dung theo vai trò và tác giả. Nó cho phép bạn chỉ định chế độ xem tùy chỉnh, chỉnh sửa và xóa quyền cho từng loại nội dung. Tùy chọn bạn có thể bật cho mỗi cài đặt truy cập nội dung, do đó bạn có thể tùy chỉnh quyền truy cập cho từng nút nội dung.

Ngoài ra, bạn có thể sử dụng mô-đun Node View Rights , nhưng tôi khuyên bạn nên sử dụng Content access module.

(nếu bạn muốn làm việc với drupal cho tương lai thì tốt hơn là tham gia với các mô-đun hữu ích này)


Hầu như những gì tôi cần. Cuối cùng tôi đã kiểm soát truy cập thông qua cấp độ thấp, vì muốn chuyển hướng đến trang chủ trong một số trường hợp, 404 trong các trường hợp khác, v.v., vì vậy tôi đã kiểm soát tốt hơn, nhưng tôi nghĩ mô-đun này có thể hoạt động trong hầu hết các trường hợp. Có thể với một điều chỉnh tốt hơn trong trường hợp của tôi, nhưng không có thời gian để điều tra.
Cesar

3

Cài đặt mô-đun Node View Rights .

Mô-đun cấp phép xem nút cho phép quyền "Xem nội dung của riêng" và "Xem bất kỳ nội dung nào" cho từng loại nội dung trên trang quyền như trên Drupal 6.

Bây giờ trang quyền goto và xóa Xem mọi quyền nội dung khỏi loại nội dung video cho người dùng ẩn danh .

Trong trường hợp bạn chỉ muốn một vài video từ thư viện Video có thể truy cập được đối với người dùng ẩn danh, thì hãy cài đặt mô-đun Deny Access .


1

Chỉ cần cập nhật loại nội dung của bạn.

  1. Thêm một trường số như display_order, v.v.

  2. Đặt giá trị của trường này chỉ cho những video bạn muốn hiển thị.

  3. Đi đến cài đặt xem của bạn và thiết lập;

    Sử dụng máy nhắn tin: Hiển thị một số mục được chỉ định | x mặt hàng

    Trong đó x là video no.of bạn muốn hiển thị

  4. Sau đó áp dụng sắp xếp theo thứ tự hiển thị

Hy vọng nó sẽ làm việc.


1

Tôi nghĩ rằng mô-đun Rabbit Hole thực hiện chính xác những gì bạn đang tìm kiếm. Đây là một đoạn trích từ trang mô tả của mô-đun đáp ứng nhu cầu của bạn. Chúc may mắn.

Rabbit Hole là một mô-đun bổ sung khả năng kiểm soát những gì sẽ xảy ra khi một thực thể đang được xem tại trang của chính nó.

Có lẽ bạn có một loại nội dung không bao giờ được hiển thị trên trang của chính nó, giống như một loại nội dung hình ảnh được hiển thị trong băng chuyền. Rabbit Hole có thể ngăn nút này truy cập được trên trang của chính nó, thông qua nút / xxx.


1

Đi cho mô-đun lỗ thỏ , nó làm chính xác như vậy. Tất cả nội dung có thể truy cập thông qua lượt xem / mã nhưng khi bạn cố truy cập trang chi tiết "nội dung / ***" thì đó là quyền truy cập bị từ chối hoặc bạn có thể đặt chuyển hướng.


Tôi sẽ cho nó một chuyến đi, cảm ơn. Hiện tại, tôi đã giải quyết nó ở mức thấp, nhưng tốt nhất nên biết các mô-đun tùy chỉnh đã được thực hiện.
Cesar

0

1) Tạo trường giá trị Boolean trong loại nội dung của bạn.

2) Nếu giá trị được chọn là đúng, một lớp duy nhất sẽ được thêm vào trường video đó, nếu giá trị được chọn là sai thì không nên thêm lớp vào trường video đó.

3) Viết một số CSS để ẩn các video không có lớp.


0

Sử dụng mô-đun Quy tắc, bạn có thể thực hiện quy tắc tương tự như sau:

{ "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" } }
    ]
  }
}

Bất kỳ ai đang cố gắng truy cập đường dẫn tương đối content/video-1sẽ được chuyển hướng đến một trang có đường dẫn no_accessvà thông báo lỗi liên quan sẽ được hiển thị (điều chỉnh đường dẫn này để phù hợp với quy ước của riêng bạn và xem lại thông báo sẽ được hiển thị).

Quy tắc trên chỉ giới hạn quyền truy cập vào đường dẫn tương đối content/video-1(như trong câu hỏi của bạn). Nếu bạn muốn mở rộng quy tắc thành các URL tương tự, hãy thay đổi content\/video-1thành một cái gì đó như content\/video-\\d+$hoặc bất kỳ biến thể nào phù hợp với quy ước đặt tên cho các đường dẫn của bạn.

Quy tắc trên chưa (chưa) tính đến việc chỉ áp dụng Quy tắc hành động cho người dùng chỉ với các vai trò được chọn. Nhưng đối với bất kỳ ai quen thuộc với mô-đun Quy tắc, đó là "Điều kiện" đơn giản để thêm ... ví dụ: bỏ qua hành động quy tắc cho người dùng có vai trò như biên tập viên, quản trị viên, v.v. Bạn có thể làm gì bằng cách thêm Quy tắc Điều kiện như "người dùng KHÔNG có quản trị viên vai trò (và / hoặc biên tập viên)". Bằng cách đó, những loại người dùng đặc biệt đó vẫn có thể xem các nút như vậy (không có điều kiện bổ sung như vậy, họ cũng không thể xem các nút như vậy nữa ...).

Để thử nghiệm quy tắc này trong trang web của riêng bạn, chỉ cần sao chép toàn bộ mã Quy tắc ở trên và dán quy tắc mới vào trang web của riêng bạn, được tạo thông qua chức năng "Nhập" (khả dụng nếu UI UI được bật). Sau đó chỉnh sửa / tinh chỉnh thêm để làm cho nó phù hợp với môi trường của chính bạn (ví dụ: thông báo "Xin lỗi, ..." sẽ được hiển thị).

Sàng lọc bổ sung

Trong một trong những câu trả lời khác, bạn đã thêm một nhận xét bao gồm:

... Tôi muốn chuyển hướng đến trang chủ trong một số trường hợp, 404 trong những trường hợp khác, v.v., vì vậy tôi đã kiểm soát tốt hơn ...

Nếu đó là điều bạn cũng muốn làm, thì bạn có thể tinh chỉnh thêm Hành động quy tắc trên bằng cách thêm mô-đun Quy tắc có điều kiện . Với điều đó, với mỗi "một số trường hợp" của bạn, sau đó bạn có thể chỉ định URL thích hợp để chuyển hướng đến. Tham khảo câu trả lời của tôi về " Cách đặt giá trị của một số trường tùy thuộc vào giá trị của hộp danh sách? " Để biết minh họa về cách sử dụng mô-đun này trong Hành động quy tắc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.