ユーザー認証を制限する

デフォルトで使えるのは以下のよう。
使用しないモジュール名をDISABLED_MODULESに書けば表示はしなくなる。
認証関係のモジュールは以下にありそう。

osqa@OSQA:~$ ls forum_modules/
akismet         facebookauth  localauth   pgfulltext      robotstxt
default_badges  __init__.py   oauthauth   project_badges  sphinxfulltext
exporter        __init__.pyc  openidauth  recaptcha       sximporter

まずは、関連しそうなものを全部消してみる。

osqa@OSQA:~$ vi settings_local.py
DISABLED_MODULES = ['facebookauth', 'oauthauth', 'openidauth', 'localauth', 'books', 'recaptcha', 'project_badges']

tempsigninが消えない。
あと、" Validate my email after I login."のチェックと、"External login services use OpenID technology, where your password always stays confidential between you and your login provider and you don't have to remember another one."のメッセージが消えない。


次にopenidauthだけ許可すると、ゾロゾロとアイコンが出てくる。
"Enter your OpenId Url"も出る。
きれいじゃないな。
openidauthをコピって書き換えるか。

osqa@OSQA:~/forum_modules$ mkdir googleaopenid
osqa@OSQA:~/forum_modules$ cp -a openidauth/* googleaopenid/
osqa@OSQA:~/forum_modules$ cd googleaopenid/
osqa@OSQA:~/forum_modules/googleaopenid$ rm *.pyc

authentication.pyの中に、各サービスに対応するクラスが並んでいる。
Google以外を削除。
DISABLED_MODULESにopenidauthを追加。
これで、とりあえず目的は達成した。


tempsigninが表示される問題は、いくつかさわってみたが、解決できていない。