“Oturum açan kullanıcı” bir MENU_CALLBACK için erişim bağımsız değişkeni olarak nasıl kullanılır?


15

Kullanıcıların belirli bir MENU_CALLBACK öğesine erişmek için oturum açmasını zorunlu kılmak istiyorum.

Aşağıdakiler çalışır, ancak yalnızca yönetici hesabı için. Normal kullanıcıların hâlâ erişimine izin verilmiyor:

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

Yalnızca kimliği doğrulanmış kullanıcıları kontrol eden bir erişim argümanı mı olmalı?


Bunu yapmanın bir yolu yoksa, hook_permission () kullanarak kendi iznimi oluşturacağım ve kimliği doğrulanmış kullanıcılara bu izni atayacağım.
jdu

Yanıtlar:


29

access argumentsgeri arama işlevine iletilecek bağımsız değişkenler içindir ... access callbackbunun yerine şunları kullanmanız gerekir :

'access callback' => 'user_is_logged_in'

Yana user_is_logged_in()herhangi bir bağımsız değişken almaz, güvenle kaldırabilirsiniz access argumentsmenü öğesi için.

Geçerli kodunuz yönetici hesabı için yalnızca varsayılan 1 access callbackolduğundan user_access(), kullanıcı 1 için erişim denetimini atladığı için çalışır.


2
O zaman tam tersi olur 'access callback' => 'user_is_anonymous'.
leymannx

1
YAML dosyanızdaki "gereksinimler" altında Drupal 8 için şunu ekleyin: _role: 'authenticated'
coderama
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.