ユーザー追加の制限
標準では、フォームでユーザー追加が誰にでもできるようになっている。
CMSとして使う上では、これは好ましくない。
ユーザー追加を制限する方法は、標準の機能では提供されていないようだ。
http://moinmoin.wikiwikiweb.de/FeatureRequests/DisableUserCreation
~/lib/python/MoinMoin/userform.py else: # not logged in # Login / register interface buttons = [ # IMPORTANT: login should be first to be the default # button when a user hits ENTER. #('login', _('Login')), # we now have a Login macro #('create', _('Create Profile')), ###### この行をコメントアウト ('cancel', _('Cancel')), ]
これをやるとUserPreferences画面で登録ボタンが表示されなくなる。
しかし、フォームそのものは出てきてしまうので美しくないな...
plugin/action/userform.py from MoinMoin.Page import Page from MoinMoin import wikiaction def execute(pagename, request): if 'create' in request.form: return Page(request, pagename).send_page(request, msg="Creating user accounts disabled.") wikiaction.do_userform(pagename, request)
というプラグインでブロックする方法もあるが、これも美しくない。
wikiの下の
./underlay/pages/UserPreferences
./underlay/pages/UserPreferences/current
./underlay/pages/UserPreferences/revisions
./underlay/pages/UserPreferences/revisions/00000001
./underlay/pages/UserPreferences/cache
./underlay/pages/UserPreferences/cache/text_html
./underlay/pages/UserPreferences/cache/pagelinks
あたりを消してしまったほうがいいのかも。
さっそく実行。
%cd wiki/ %mkdir removepage %mv underlay/pages/UserPreferences removepage/
日本語だと
http://mogeuser.sakura.ne.jp/moin.cgi/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%97%E3%83%AC%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9
ってのが生きているので、これも移動する必要がある。
当該ファイルをfindでキャッシュファイルの時間を頼りに探す。
./(e383a6e383bce382b6e38397e383ace38395e382a1e383ace383b3e382b9)
か?
%mv underlay/pages/"(e383a6e383bce382b6e38397e383ace38395e382a1e383ace383b3e382b9)"/ removepage/
成功。
移動しても機能コードは残っているから、普通のページにコードをペーストされて使われないためにも、冒頭の機能を殺すことそのものは必須。
CMSとして考えると、underlayそのものの内容を見直す必要があるのかも。
ヘルプや検索されたくないページ情報などは隠しておきたいところだ。