Как я могу скрыть профиль пользователя от пользователей?
Я использую Логин на основе IP, чтобы предоставить посетителям частной сети доступ к некоторым частям моего сайта Drupal 6. Это означает, что все пользователи из этой частной сети вошли в систему как один и тот же пользователь.
Теоретически любой, кто заходит на сайт таким образом, может изменить пароль пользователя, чего я на самом деле не хочу допускать. Я попробовал модуль защиты пользователей , но он просто не работает на моем сайте. Я подозреваю, что это просто несовместимо с модулем входа в систему IP.
В идеале я хотел бы полностью скрыть страницу /user
от определенных пользователей. Они не должны иметь доступа к нему и не должны иметь возможности изменять свой пароль или любую другую информацию профиля.
Как я могу запретить доступ к профилю пользователя?
1 answers
Вы можете сделать это с помощью hook_menu_alter, изменив обратный вызов доступа и аргументы доступа для соответствующих пунктов пользовательского меню.
Например,
/**
* Implements hook_menu_alter
*/
function MYMODULE_menu_alter(&$items){
// Change user view and edit callbacks to be "administer users" access only.
$items['user/%user/view']['access callback'] = 'user_access';
$items['user/%user/view']['access arguments'] = array('administer users');
$items['user/%user_uid_optional']['access callback'] = 'user_access';
$items['user/%user_uid_optional']['access arguments'] = array('administer users');
$items['user/%user_category/edit']['access callback'] = 'user_access';
$items['user/%user_category/edit']['access arguments'] = array('administer users');
}
Очистите кэш меню для применения.