パスワードを適切に管理したサンプルシステム(その3)
パスワードを適切に管理したサンプルシステム(その2)の続き。
1回目と2回目で大きくパスワードのハッシュ化とメールによるリセットを実装しました。今回は残ったところを実装して実際に動くサービスの公開まで掲載します。今回はセキュリティ要素少なめです。
要件(TODO)
- 次のページを用意する。ログインページ(TOP)、ユーザ登録ページ、メニューページ、パスワード再発行依頼ページ、パスワード再発行ページ、ログイン履歴ページ。
- リンクと画面遷移先はフィーリングで設定する。
- ログイン履歴ページは過去にログインした全ての日付とIPアドレス、ホスト名を表示する。
- メニューページ、ログイン履歴ページはログイン済みでないとアクセスできないこととする。
ログイン履歴は運営するサービスの種類や方針にもよるけど、できれば入れておきたいです。これがあると不正ログイン、パスワード漏洩の可能性に気づくことができます。シンプルさを重視してサービスに機能(ログイン履歴機能)を追加しないという選択肢もありだとは思うし、お遊びに近いサービスであれば別に不要だと思う。けど個人的にはあったほうがいいです。
認証と認可(要件4)
これはwicket-auth-rolesを利用します。以下のサイトが参考になりました。
アノテーションを付加するだけで良い、というところが楽でいいです。
公開
Eclipseでwarをエクスポートしてデプロイ。以下のURLに配置しました。
http://tsukaby.com/LoginSystem
動作スクリーンショット
大体以下のような感じです。
[gallery link=“file” ids=“127,128,129,130,131,132,133,134,135,136”]
一通り、動作するまでには至ったけど、このままではまだいくつか問題があるので、今後はこれを改良して行きます。