DokuWikiのTips and Tricksを眺めていて”Integrating DokuWiki with Mantis“というのを見かけました。ざっと読むと両者の認証を統合したりすることができるようです。
- DokuWikiの認証をMantisベースに統合
- DokuWikiの認可をMantisのアクセスレベルで制御
- Mantis Issueに詳細を記述するためのWikiページリンクを設定
http://www.mantisbugtracker.com/bugs/view.php?id=7075 と
http://www.mantisbt.org/wiki/doku.php/mantisbt:issue:7075
のような関係です。 - Wikiページ側にもIssueへのリンクを簡単な方法で挿入
WikiやIssue Trackerが統合された環境としてTracなどが有名かと思いますが、同様のことができるのではないかと思い試してみました。
(TracではSubversionのソースブラウジングもできるのですが、それはあとで考えるとして)
ACLの設定等はサンプルのままにやっていますので、やってみようという方はご注意を。
インストール
DokuWikiは現時点でのStableリリースであるdokuwiki-2006-11-06.tgz、Mantisは開発版の1.1.0a2をそれぞれインストールします。
DokuWikiの設定
Integrating DokuWiki with Mantisのとおりにおこなっていきます。
Configutration
dokuwiki/conf/dokuwiki.phpに追加するように書かれていますが、dokuwiki/conf/local.phpを用意して設定。
MANTIS_ROOTとMANTIS_URLの値は環境に合わせて変更。
Authentication (Single Sign-On)
dokuwiki/inc/auth/mantis.class.phpを作成してページ記載のコードをそのままコピペ。
とりあえずここまでやるとシングルサインオンは実現しますが、他のDokuWiki側設定もやってしまいます。
Authorisation Configuration
dokuwiki/conf/acl.auth.phpを作成して、こちらもページ記載のコードをそのままコピペ。
Mantis Syntax Plug-in
dokuwiki/lib/plugins/mantis/syntax.phpを作成して、こちらもページ記載のコードをそのままコピペ。
認証テスト
どんな動きになるのか試してみます。
- DocuWikiにアクセス
アクセス拒否されます。 - DocuWikiでログインを試行
ログインできません。アクセスも拒否されたままです。 - Mantisでログインを試行
ログインできます。 - Mantisでログイン状態を維持したままDokuWikiにアクセス
アクセス許可されます。 - DokuWikiでログアウトを試行
ログアウトした旨表示されますが、アクセス許可されます。Mantis側もログイン状態のままです。
というわけで認証が統合されるといっても「Mantis側でのログイン状態」が引き継がれているだけであって、DokuWikiのログイン画面にMantisのアカウントを入力しても認証されるわけではないようです。
ちょっとややこしいんですが、Mantisでログイン済みであればDokuWikiのログインはスルーされますが、MantisでログインしていないとDokuWiki側はアクセス拒否される、という動きになるようです。
認証情報自体を統合するにはLDAPやBASIC認証をバックエンドに使う方法があります。ログインの動きとしてはそちらのほうがしっくりくるかも知れません。
ですが、ユーザ管理やパスワードリマインダーといった運用上必要になってくるであろう機能をMantisだけで実現できるので、割り切って使えるなら結構便利だと思います。
残りのMantis側設定はこちらをどうぞ。
Sorry, the comment form is closed at this time.