ログイン処理実装時の注意
- セッションはログインするごとに変えること。
ホテルのPCとかでハイジャックできるようになってしまうので。 - ただ、前のセッションをちゃんと引き継いであげるのも忘れないこと。
そうしないと、例えばアマゾンで購入時にログインしたらカートの中身が消えてしまったりする。 - 一定の時間(5分ぐらい?)がたったら、セッションに格納されたユーザーがログイン可能かどうか確認する。 強制退会にした人でもセッションがある限りはログインできてしまうので。
- ログインが成功した時にログイン履歴も残るようにしよう。
ただ、それでお客さんを待たせるのはあれなので、インサート処理は非同期で。
これをしなかったリージョンアップはログインに50分近くかかってしまうように。。
最悪履歴残らなくてもいいのでエラーは他の領域に伝播しないようにしよう。 - ログインリダイレクト処理を実装しよう。
ログインページへのリダイレクトが走る前にアクセスしようとしたページの URL をセッションに控え、
ログインが成功したらそこに飛ばしてあげるようにしよう。 - セッション情報は速度早めるために最小限の情報で。
Key store Value に保存したりもしたい。
ログインアノテーション
- ついていればログインをしなくてもアクセスできるページへのアクション、という実装がしたい(願望)
数的に絶対上の方がいい。。 一方でアノテーション付け忘れたときに機密情報漏洩するというリスクはある。
Thanks to @jflute