元の声明: この記事は私のオリジナルの作品であり、転載についてはブロガーに連絡してください
ログインすると、ログインボックスが表示されます。次回はログインする必要があります/毎月の無料ログインの同様のオプション このブログ記事は、その実装方法をここに記録するものです。記事に間違いがある場合は、メモとして記録します。ご指摘歓迎です
なぜ一度自己ログインするのかというと、特定のページにアクセスするときに初めて自動ログインに失敗し、次回訪問を更新するときに再度自動ログインプロセスを実行するためです。無限ループが発生します。
このブログ投稿のコード例フレームワークは Spring MVC であり、この機能を実装するために必要な知識を以下に説明します: Cookie とフィルター
1. Cookie とは: Web アプリケーションのユーザーを節約します。関連情報には、役立つアプローチが記載されています。たとえば、ユーザーがサイトにアクセスしたときに、Cookie を使用してユーザーの設定やその他の情報を保存し、次回ユーザーがサイトにアクセスしたときに、アプリケーションが以前に保存した情報を取得できるようにすることができます。
Cookieの保存方法とCookieの削除方法を見てみましょう
- Cookieの保存
String newUserName = null; try { newUserName = URLEncoder.encode(username, "UTF-8");//把用户名转码,防止用户名是中文,cookies保存中文取出会乱码 } catch (UnsupportedEncodingException e) { e.printStackTrace(); } Cookie nameCookie = new Cookie("username", newUserName); String pwdMd5Cook = MD5Util.MD5(Pwd); Cookie pwdCookie = new Cookie("pwd", pwdMd5Cook);// 保存加密后的密码 nameCookie.setMaxAge(60 * 60 * 24 * 365);// 用户名保存一年 pwdCookie.setMaxAge(60 * 60 * 24 * 30);// 密码保存30天 // 发送Cookie信息到浏览器 response.addCookie(nameCookie); response.addCookie(pwdCookie);
注意してください。 Cookieを保存するのと同じコントロールレイヤーにある必要があります、そうしないと保存されたCookieが見つからず削除できません2.フィルター - フィルターフィルターとも呼ばれます。サーブレット テクノロジーが先進的で実用的なテクノロジーであるため、Web 開発者はフィルター テクノロジーを使用して、Web サーバーによって管理されるすべての Web リソース (Jsp、サーブレット、静的画像ファイル、静的 HTML ファイルなど) をインターセプトし、いくつかの特別な機能を実現します。たとえば、URL レベルの権限アクセス制御、機密語彙のフィルタリング、応答情報の圧縮などの高度な機能を実装できます。
インターフェースを継承し、そのdoFilterメソッドを実装します。記述されたフィルター クラスを Web に登録します。渡されたロゴ (
IsAutomaticLogin
)、このロゴは自動ログイン中に保存されます (成功または失敗に関係なく)。何か間違っている場合は、皆さんご指摘ください
Cookie cookie = new Cookie("pwd", null); cookie.setMaxAge(0);// 删除密码cookie response.addCookie(cookie);