Cung cấp một số trang nhất định cho người dùng đăng nhập


9

Tôi cần một số trợ giúp và đây là vấn đề:

Tôi đang xây dựng một trang web bằng Drupal 7.

Tôi cần làm cho một số trang nhất định chỉ hiển thị cho người dùng đã đăng nhập (mỗi trang có tên người dùng / mật khẩu riêng), những người dùng khác chỉ cần được chuyển hướng hoặc hiển thị thông báo lỗi. Chức năng này có thể được bao gồm trong chính Drupal 7 hay có một mô-đun thực hiện việc này (một cái gì đó đơn giản hơn Nhóm hữu cơ)?

Câu trả lời:


7

Bạn cần sử dụng mô-đun Truy cập Nội dung để có quyền xem nút hạt mịn.

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.


Mô-đun đó chưa được cập nhật từ năm 2013 và được mô tả là "chưa được coi là ổn định". Muốn giới thiệu một cái mà hiện đang duy trì?
Blazemonger

1

Nếu bạn đang tìm cách lập trình trong một mô-đun hoặc nút (Bộ lọc đầu vào w / PHP), bạn có thể sử dụng user_is_logged_in () cho một cái gì đó như thế này:

<?php
if (!user_is_logged_in()) drupal_not_found();
?>

0

Mặc dù mô-đun Content Access giải quyết tốt vấn đề, nhưng đây là mô-đun bổ sung và chưa ổn định trên D7.

Một thay thế chỉ sử dụng các mô-đun thường được sử dụng là:

  1. Tạo các nút nhưng đặt chúng là chưa được công bố

  2. Tạo chế độ xem nút, ví dụ: "nội dung giới hạn vai trò". Hiển thị nội dung của nút đầy đủ để sao chép hiển thị nút /% tiêu chuẩn.

  3. Hạn chế chế độ xem đối với các vai trò mong muốn của bạn (ví dụ: "Vai trò | Người dùng được xác thực")

  4. Đặt đường dẫn chế độ xem thành một cái gì đó như:

    restricted-content/%
  5. Đặt bộ lọc theo ngữ cảnh của Nid.

  6. Xóa bộ lọc "nội dung được xuất bản" mặc định.

Bây giờ bạn sẽ có chế độ xem hoạt động giống như nút /%, ngoại trừ nó cũng xử lý nội dung chưa được công bố và hạn chế theo vai trò.


1
Khung nhìn sẽ hiển thị danh sách các nút ngay cả khi chúng chưa được công bố, nhưng người dùng không có quyền vẫn có thể truy cập vào các nút.
kiamlaluno

-1

Có một giải pháp lập trình khá đơn giản, bạn có thể đọc vai trò người dùng (và cả nếu nó là ẩn danh hoặc đã đăng ký) như thế này:

$roles=$GLOBALS['user']->roles;

bạn sẽ nhận được một mảng với các vai trò của người dùng hiện tại trong các vai trò $.

Bạn có thể chuyển hướng người dùng đó tùy thuộc vào vai trò với một số logic bằng cách sử dụng

drupal_goto ('url-of-the/page');
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.