удалите двойную ссылку для входа в MediaWiki с помощью плагина Shibboleth - PullRequest
1 голос
/ 04 ноября 2011

Я добавил аутентификацию shibboleth (ShibAuthPlugin 1.2.3) на сайт MediaWiki (mw 1.17). Это оказалось довольно просто, но теперь у меня есть еще одна проблема: у меня есть две ссылки для входа. Я хочу, чтобы была доступна только ссылка для входа в Shibboleth.

Я могу изменить CSS, чтобы скрыть нежелательную ссылку, но это только делает ее невидимой. Я хочу отключить это. Документированные способы отключения ссылок входа отключают все ссылки входа. Я новичок в MediaWiki и ожидал, что смогу внести это изменение в конфигурацию, и мне не придется взламывать код, чтобы получить то, что я хочу.

Возможно, кто-то, знакомый с MediaWiki, может сказать мне, существует ли такой параметр конфигурации, или если модификация кода является наилучшей практикой для решения такого рода проблем.

Заранее спасибо, Питер

1 Ответ

1 голос
/ 09 ноября 2011

Чтобы просто удалить ссылку для входа в систему, я подозреваю, эта запись часто задаваемых вопросов может помочь; Похоже, более или менее похоже, что расширение Shibboleth auth выполняет свою собственную манипуляцию ссылками входа / выхода из системы. Для удобства позвольте мне скопировать код здесь:

$wgHooks['PersonalUrls'][] = 'lfRemoveLoginLink';
function lfRemoveLoginLink( &$personal_urls, $title ) {
        unset( $personal_urls['login'] );
        unset( $personal_urls['anonlogin'] );
        unset( $personal_urls['createaccount'] );
        return true;
}

Если вы хотите полностью отключить локальный вход / выход из системы, даже если пользователь намеренно переходит на Special:UserLogin, , это решение может помочь. Опять же, позвольте мне скопировать соответствующую часть кода ниже:

function LessSpecialPages(&$list) {
  unset( $list['Userlogout'] );
  unset( $list['Userlogin'] );
  return true;
}
$wgHooks['SpecialPage_initList'][]='LessSpecialPages';
...