9055


現在Java、Seasar2(SAStrats/S2JDBC)、JSP、PostgreSQLで  
DBを使ったWebアプリケーションを作っています。

質問があるのですが、  
  

**Javaでログイン時の「パスワードを記憶する」機能を作るにはどうしたらいいでしょうか？**

  
  
次のような機能です。  
![画像の説明をここに入力](https://i.stack.imgur.com/kJFai.jpg)

作り方やサンプルコードを調べているのですが、なかなか見つけられません。  
もし情報を提供できる方がいれば、参考ページのURLなどを教えて頂けると助かります。


CC BY-SA 3.0
2015-04-02T01:21:55.613
8674
2015-04-11T16:50:00.383
8982
question
java html seaser2
Javaでログイン時の「パスワードを記憶する」を作るには


次のようなやり方で取り組んでみたいと思います。

cookieを使用。  
１．最初のログイン時にログイン情報をDBなどに保存。その際ログイン状態を表すユニークなID(文字列など)をDBのキーとしておく  
２．そのキーをCookieに保存(有効期限付きで)  
３．サイトが開かれた際に、２のCookieがあればＤＢを検索  
４．DBにログイン情報が存在すればログイン状態とする

参照  
<http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14107632694>

大方やりたいことは合っているのでもう少し勉強してみます。


CC BY-SA 3.0
2015-04-02T03:17:25.967
8679
2015-04-02T03:17:25.967
8982
8674
answer


ブラウザの認証画面はBasic認証と呼ばれる方式で、ID・パスワードの入力と、1回ログインしたらそのときの認証情報を今後も使用するかどうを、ブラウザ側の機能として実現しています。

今回質問者さんがやりたいことは、この機能を使わずに、Java EEアプリケーションで独自に実装をしたい、ということだと思われます。

その場合はフォーム認証というやり方になります。ログイン画面は自分でHTMLなりJSP・JSFなりで作成し、認証処理、認証結果の保存を自力でやることになります。

方法としてはすでにご自身で回答のとおりCookieを使った方法が良いでしょう。注意点としては、Cookieに保存するのはIDやパスワードそのものではなく、それと紐づいた独自の生成値にすること、ドメイン属性を設定し自分のサイトだけにCookieを送信するようにすること、環境的に可能であればSSLを有効にし、CookieにもSecure属性を付けること、です。


CC BY-SA 3.0
2015-04-11T16:50:00.383
9055
2015-04-11T16:50:00.383
9277
8674
answer