AuthMoodle
AuthMoodle.php
( MediawikiSSOもご覧ください)
- moodleユーザが同じlogin / pwでメディアWikiにサインインできるようにするための、メディアWikiのAuthPluginクラスの拡張
- このhttps://docs.moodle.org mediawiki制作サイトで使用されています
- https://moodle.org/file.php/5/moddata/forum/366/196104/AuthMoodle.phpからダウンロードしてください。
- Martin Dougiamasによって2006年4月にhttps://moodle.org/mod/forum/post.php?reply=196104で添付ファイルとして最初に投稿されました
Wikiメディアインストールのルートフォルダに基づいてMartinの指示を引用する:
Save it in extensions/AuthMoodle.php. Then you just put this in LocalSettings.php:
require_once( 'extensions/AuthMoodle.php' ); $wgAuth = new AuthMoodle(); $wgAuth->setAuthMoodleTablePrefix(''); $wgAuth->setAuthMoodleDBServer('yoursite.org'); $wgAuth->setAuthMoodleDBName('yourdb'); $wgAuth->setAuthMoodleUser('yourdbuser'); $wgAuth->setAuthMoodlePassword('yourdbpass');
mediawiki 1.7のAuthMoodleに関するバグ
- 設定は固定されなくなりました(保存するふりをしますが、実際には保存しません)。
修正: 290行目付近のincludes / SpecialPreferences.phpの場合は、これを無効にしてください。
/* if (!$wgAuth->updateExternalDB($wgUser)) { $this->mainPrefsForm( wfMsg( 'externaldberror' ) ); return; } */
- moodleデータベースのプレフィックスがmediawikiのデータベースプレフィックスと異なる場合は一致する(または空白である)必要があります
修正: 1310行目と1313行目付近のincludes / Database.phpの関数tableNameを編集します。
function tableName( $name ) { global $wgSharedDB , $wgAuth ; # Skip quoted literals if ( $name{0} != '`' ) { if ( $this->mTablePrefix !== && strpos( '.', $name ) === false && strpos ($name, $wgAuth->mAuthMoodleTablePrefix) === false ) {
- mediawiki 1.7では、33行目をincludes / AuthPlugin.phpに変更し、223行目から226行目をコメントアウトする必要がありました(存在しない関数を参照してください)。
関連情報
- AuthMoodleの作成につながるバグトラッカーの会話https://moodle.org/bugs/bug.php?op=show&bugid=4666
- 使用情報: Moodleドキュメント:認証
- おそらくhttps://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/auth/に基づいています。