データベースを使った簡単な掲示板もできたので、ユーザー登録出来る掲示板を作ろうと思った。 折角なので参考になるようなモジュールをCPANで探してみようと思った。 そうしたら出るわ出るわ。 Catalystのプラグインが多いこと。
とはいえ。 CatalystではなくNanoAでAuthenticationしたいわけで。 少し探してみたら、便利そうなモジュールがあった。
SQLiteかMySQLを使って、ユーザー情報の保管や認証を助けてくれるモジュールのようだ。 NanoAのデータベースハンドルを使えればよかったのだが、生憎とそんな機能はついていなかった。 newすると、自動的にデータベースハンドルを作ってしまうので、認証システムは単独で使ってみることにした。 …これは楽だ。
結構簡単にユーザー登録はできた。 本当は、ハッシュの作成にCrypt::SaltedHashを使いたかった。 ソースを読んでも仕組みが理解できなかったが、同じ文字列でも毎回結果がちがうので、逆引きが不可能になるしろものだ。 しかし、Authen::Usersは、パスワードの保存方法を選べない。 というか、結構ガチガチに仕様が決まっているようで、応用は難しそうだった。 ということで、NanoAでどうにかしないと。 というか、どうにかしたいなと。