私はlogin screen
があり、私はデータベースから資格情報をチェックすることでユーザーを認証しています。しかし、どうすればRemember me check box
を実装できますか? gmailのようにremember me(stay signed in)
が存在します。私はsign.jsp
とAuth servlet (doPost)
とoracle 10g ee
を認証に使用しています。jspログインページで私を覚えている
2
A
答えて
5
この目的でcookies
を使用できます。 (doGetメソッドなどのdoPost、)サーブレット応答ハンドラで
次のようにクッキーを作る -
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;
}
}
Here -
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
クラスの公式文書です。
0
Cookieを使用して実装を支援することができます。このようなもの 。
String userIdendificationKey="UserName";
Cookie cookie = new Cookie ("userIdendificationKey",userIdendificationKey);
// Set the age of the cokkie
cookie.setMaxAge(365 * 24 * 60 * 60);
//Then add the cookies to the response
response.addCookie(cookie);
その後、特定の値を確認してください。
-2
は、それは強力かつ高度にカスタマイズ認証とアクセス制御フレームワークですSpring SecurityIt
を見てみましょう。
また、Rose Indiaからコードを確認することもできます。これはより便利です。
0
安全かどうかはわかりませんが、これは私が行ったことです。 bodyタグに
login.jspをヘッドタグで<script type="text/javascript">
var isLoggedIn = "${isLoggedIn}";
if(isLoggedIn === true)
window.location.href="Home.jsp";
</script>
iは
if(userdetails are verified)
{
if(request.getParameter("rememberMe")!=null){
request.getSession().setAttribute("isLoggedIn", true);
}
RequestDispatcher rs = request.getRequestDispatcher("Home.jsp");
rs.forward(request, response);
}
else
{
RequestDispatcher rs = request.getRequestDispatcher("fail.jsp");
rs.include(request, response);
}
以下のコードを追加
サーブレットdoPostメソッドで
<input type="checkbox" id="RememberMe" name="rememberMe">
<label for="RememberMe">Remember Me</label>
以下のように私は私を記憶するためのチェックボックスを追加
これを使用すると、初めてログインするときに資格情報を要求し、ログイン情報をsessiに保存します2番目の時間にサイトにアクセスしようとすると、自動的に "login.jsp"の代わりに "Home.jsp"に行きます。
このメソッドが良い習慣であるかどうかは、他の変更が可能かどうかをご確認ください。 提案を歓迎します。
関連する問題
- 1. ログイン、私を覚えているアプリケーション、javaサーブレットとjspを使用
- 2. シームで私を覚えている3
- 3. ASP.NET IDはログインページの電子メールアドレスを覚えています
- 4. PHP:私とセキュリティを覚えている?
- 5. 私とrestful_authenticationを覚えている
- 6. Zend framework私を覚えている - 働いている問題
- 7. クライアントデバイスを覚えている
- 8. コードイグナイターでクッキーを覚えている
- 9. 覚えているコンパイラ
- 10. 春のセキュリティ3カスタム私を覚えて
- 11. セッションタイムアウト - 「私を覚えている」ようにするには?
- 12. が私を覚えている春のセキュリティにおけるサービス
- 13. JSPと角型jsログインページ
- 14. 私はroutes.jsでfirebase meでログインして私を覚えていますか?
- 15. symfony2でプログラム的に私を覚えていますか?
- 16. Deviseで「私を覚えていますか?」
- 17. 安全なvb.net winフォームアプリケーションで私を覚えていますか?
- 18. jQueryで私を覚えてください
- 19. Xcodeの8、スウィフトと私は見て覚えているC++
- 20. Meteor.JS - カスタマイズされたログインフォームに私を覚えている
- 21. WCF/WIF STSは私の機能を覚えている
- 22. OAuthを覚えているDeviseとOmniAuth
- 23. ドロップダウン選択を覚えているクッキー
- 24. ページのカラーレイアウトを覚えている
- 25. symfony forceログインして私を覚えてください
- 26. Laravelで私を覚えているユーザーをログインして戻す5
- 27. Codeigniterのセッションクッキーと私の覚えているオプション
- 28. 私は2つのタイプのユーザーの2つのログインページを持っています。私が覚えているときはいつでも、私のフィールドは両方のログインページに保持されています
- 29. 私は半分働いていることを覚えています - Android
- 30. ログインページのセキュリティ(サーブレット/ JSPを使用)
あなたの返事に感謝していますが、この「クッキー」を実装して「サインインしたまま」どうすればいいのですか? – Tom
このリンクを参照してください、これはjsfにありますが、その背後にあるロジックを参照してください。http://www.roseindia.net/jsf/RememberMeLogin.shtml –
@RakeshPatel ya有用なものですが、ブラウザからクッキーを削除する場合は、チェックボックスをもう一度チェックして、 'stay sign in 'を実装してください。 – Tom