Drupal 6: Nasıl "kapatmak" olabilir

2 Cevap php

Drupal 6 kullanılması ben sadece kimliği doğrulanmış kullanıcılar için user/1/openid sayfasını devre dışı bırakmak istiyorum. Nasıl?

2 Cevap

Varsayılan olarak, 'yönetmek kullanıcıların hakkının yalnızca kullanıcıların kimliği doğrulanmış kullanıcıları sağ ve eğer öyleyse, sadece onu kaldırmak var eğer öyleyse (FlorianH önerilen), kontrol etmeniz gereken other kullanıcıları, OpenID sayfalarına erişebilirsiniz . Bu şekilde sadece kendi OpenID sayfasına erişebilirsiniz.

Bazı (hayal etmek zor) bir nedenle, really want sizin doğrulanmış kullanıcılar 'yönetmek kullanıcıların hakkına sahip ve gerçekten sadece erişimi engellemek için ise 'user/1/openid', geçersiz kılmak olurdu Kendi özel bir geri arama işlevini kullanmak için (OpenID modülü tarafından tescil) 'user/%user/openid' menü yolunun erişim geri.

Bunu yapmak için, adına 'user_edit_access' hook_menu_alter() , which will be called with an array of all menu path items registered by any module in your system. In that array, you'd need to find the item defining the 'user/%user/openid' uygulamak ve varsayılan 'erişim geri' girdisinde işlev adını alışverişinde gerekiyordu kendi özel arama fonksiyonu. O, size (gerçi kullanıcı 1 için muhtemelen) engellemek istediğiniz belirli bir sayfa için FALSE, diğer tüm durumlarda orijinal geri arama işlevini çağırır.

(En azından IMHO) en iyi yolu admin bölümünde izinler sayfasına gidin ve kimliği doğrulanmış kullanıcılar için belirli özelliğe erişmek için izin devre dışı bırakmak için.

Bu şekilde herhangi bir kanca veya ek modüller kullanmak zorunda değilsiniz.