Làm cách nào để sử dụng người dùng đã đăng nhập bằng tiếng Nhật làm đối số truy cập cho một MENU_CALLBACK?


16

Tôi muốn yêu cầu người dùng đăng nhập để truy cập vào một MENU_CALLBACK cụ thể.

Các công việc sau đây, nhưng chỉ dành cho tài khoản quản trị viên. Người dùng thông thường vẫn bị từ chối truy cập:

'access arguments' => array('user_is_logged_in')

Phải có một đối số truy cập chỉ kiểm tra người dùng được xác thực?


Nếu không có cách nào để làm điều này, tôi sẽ tạo quyền của riêng mình bằng hook_ allow () và gán cho người dùng được xác thực quyền đó.
jdu

Câu trả lời:


29

access argumentsdành cho các đối số sẽ được chuyển đến hàm gọi lại ... access callbackthay vào đó bạn cần sử dụng :

'access callback' => 'user_is_logged_in'

user_is_logged_in()không có bất kỳ đối số nào, bạn có thể xóa một cách an toàn access argumentscho mục menu của mình.

Mã hiện tại của bạn chỉ hoạt động cho tài khoản quản trị viên vì mặc định access callbackuser_access(), bỏ qua kiểm tra truy cập cho người dùng 1.


2
Ngược lại là vậy 'access callback' => 'user_is_anonymous'.
leymannx 16/2/2016

1
Đối với Drupal 8 theo "yêu cầu" trong tệp YAML của bạn, hãy thêm phần này: _role: 'xác thực'
coderama
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.