ログイン画面があり、データベースの資格情報を確認してユーザーを認証したい。ほとんどのブラウザがパスワードを記憶できることは知っていますが、ブラウザのCookieを使用して[記憶する]チェックボックスを実装するにはどうすればよいですか?sign.jspとAuthサーブレット(doPost)、およびhttpsによる基本アクセス認証を使用しています。
ユーザーID+トークンをCookieに保存する必要があることはわかっています。別のスレッドから次のコードを見つけました。
サーブレット応答ハンドラー(doPost、doGetなど)で、次の方法でCookieを作成します-
if(remember_me_is_checked)
{
Cookie c = new Cookie("userid", userId.toString());
c.setMaxAge(24*60*60);
response.addCookie(c); // response is an instance of type HttpServletReponse
}
それらを読むために、あなたはこのようなものを使うことができます-
Cookie[] cookies = request.getCookies(); // request is an instance of type
//HttpServletRequest
boolean foundCookie = false;
for(int i = 0; i < cookies.length; i++)
{
Cookie c = cookies[i];
if (c.getName().equals("userid"))
{
string userId= c.getValue();
foundCookie = true;
}
}
私の質問は、ユーザー情報をCookieに保存した後、ユーザーが次回ログインしたときにユーザーを自動的にサインインするにはどうすればよいですか?私が理解していないのは、ユーザーのログインIDのみがCookieに保存されているということです。どうすれば、パスワードなしでユーザーにサインインできますか。どのような方法を使用できますか?
可能であれば、具体的にいくつかのコードを説明または提供してください。私はこの種のものに本当に慣れていません。
よろしくお願いします