クッキーを達成するためのパスワード機能を覚えておいてください

まず、クッキーは何ですか

クッキーは、訪問者のハードドライブに保存されているブラウザの情報を介してWebサーバ手段。クッキーの目的は、あなたのサイト上で便利な、付加価値の機会をユーザーに提供することです。誤報の多くがありますが、Cookieと実際には、深刻なセキュリティ上の脅威が発生することはありません。Cookieのいずれかの方法で行われたことがないので、ウイルスを持参するか、システムを攻撃しません。ブラウザが一般的であるため、また、唯一の300クッキーの保存は、各サイトは20クッキーまで保存することができ、各サイズのクッキーは、あなたのハードディスクを満たしませんので、4キロバイト、クッキーに限定されています。

たとえば、私たちが最初にユーザー名とパスワードを入力するようにサイトを訪問したときに、ユーザー名とパスワードを再入力しないでください次の時間を覚えて選択することができ、これはクッキーのアプリケーションの典型的なものです。

 

二、クッキーのメリット:

非常に多くのサイトにクッキーと利用者のメリット:

  • 1.クッキーなど、サイト訪問者への訪問の特定の数、最終アクセス時間を追跡することができます
  • 2.クッキーは、より正確な広告を許可する、広告がクリックされたオンライン広告主の数を伝えることができます
  • 有効期限がまだ3.クッキーを来るようにすると、クッキーを使用すると、ユーザー名とパスワードを入力しないでアクセスしたサイトの一部を入力することができます
  • 4.クッキーサイトの統計情報をJSPにパーソナライズされたサービスの広い範囲を達成するために、ユーザプロファイルを助けることができ、我々はまた、いくつかの強力なアプリケーションを作成するために、クッキーを使用することができます。

一部のブラウザはクッキーを無効にすることができ、クッキーは、コアビジネスを完了するために使用することはできません。

 第三に、mainメソッドのCookieクラス:

クッキーの有効期限が切れる前に、int型getMaxAgeは()最大時間を秒単位で返します。
int型setMaxAge()は秒単位で、クッキーの有効期限を設定してください。
文字列のgetName()クッキーの名前を返す
(文字列のgetValue)はクッキーの値を返します。
ボイドのsetValue(文字列newValueに)クッキーを作成するための値の新しいセット。

 

第四に、パスワード機能コードの実装を覚えています:  

 フロントページのコード:

<DOCTYPE用HTML PUBLIC " - // W3C // DTD XHTML 1.0過渡// EN"!> 
<%@ページ言語= "javaの" contentTypeの= "text / htmlの;のcharset = UTF-8" pageEncodingは= "UTF-8" %> 
<HTML> 
 <HEAD> 
	<META HTTP-当量= "Content-Typeの"コンテンツ= "text / htmlの;のcharset = UTF-8"> 
	<タイトル>エクセル数据上传系统-登录</ TITLE> 
	<リンクのhref = "$ {pageContext.request.contextPath} /content/css/page/login.css" REL = "スタイルシート"タイプ= "テキスト/ CSS" /> 
 </ head> 
 
 <body> 
 	<DIV CLASS = "second_body"> 
    	<フォームのデータバインド= "提出:loginClickを"> 
        	<DIV CLASS = "ロゴ"> </ div>
            <DIV CLASS = "タイトル-ZH "> Excelのデータアップロードシステム</ div> 
            <divのクラス= "タイトル-EN"スタイル= "">データエクセルアップロードシステム</ div>
            <DIV CLASS = "メッセージ"データバインド= "HTML:メッセージ"> </ div> 
            <テーブルのボーダー= "0"スタイル= "幅:300ピクセル;"> 
            	<TR> 
                	<TDスタイル= "空白:NOWRAP ;パディング底:5pxの;幅:55×; ">用户名:</ TD> 
                    <TD COLSPAN =" 2 ">の<input type ="テキスト"ID = "USERCODE"クラス= "ログイン"データバインド="値:form.userCode」/> </ TD> 
                </ TR> 
                <TR> 
                    <TDクラス= "lable"スタイル= "空白:NOWRAP、文字間隔:0.5em;垂直整列:中間">密码:</ TD> 
                    <TD COLSPAN = "2"><INPUT TYPE = "パスワード" ID = "パスワード"クラス= "ログイン"データバインド= "値:form.password" /> </ TD> 
                </ TR> 
                <TR> 
                    <TD> </ TD>
                    <TD COLSPAN = "2">の<input type = "チェックボックス"データバインド= "チェック:form.remember" /> <スパン>系统记住我</ span>を</ TD> 
                </ TR> 
                <TR> 
                    <TD COLSPAN = "3"スタイル= "テキスト整列:センター"> 
                        の<input type = "提出"値= "登录"クラス= "login_button" /> 
                        <INPUT TYPE = "ボタン"値= "重置"クラス= "reset_botton"データバインド= "クリックしてください:resetClickを" /> 
                    </ TD> 
                </ TR> 
            </ TABLE> 
        </ FORM> 
    </ div>
         
 	<スクリプトタイプ= "テキスト/ javascriptの" SRC = "$ {pageContext.request.contextPathは} /content/js/jquery/jquery-1.8.1.min.js"> </ SCRIPT>
         $(関数(){ 
             ko.applyBindings(新しいビューモデル()); 
         }); 
     </スクリプト> 
 </ BODY>
 
</ HTML>       

 バックオフィス処理コード:

 

//登录查询
	@RequestMapping(値= { "/ doLogin"}、メソッド= {RequestMethod.GET、RequestMethod.POST})
	@ResponseBody 
	公共AjaxJson doLogin(@RequestBody地図<文字列、文字列> JSON、HttpServletRequestのリクエスト、HttpServletResponseの応答) { 
		AjaxJson resutl =新しいAjaxJson()。
		ストリングログイン名= json.get(「ユーザーコード」)。
	    文字列のパスワード= json.get( "パスワード"); 
	    //用户名密码检查
        場合(StringUtils.isBlank(ログイン名)|| StringUtils.isBlank(パスワード)){ 
        	resutl.setSuccess(偽); 
			resutl.setMsg( "用户名或密码不能为空!"); 
        }他{ 
        	文字列passwordEncode = MD5Util.MD5Encode(パスワード、 "UTF-8"); 
     		ExcelUserユーザー= NULL;
     		= loginService.findUserByLoginNameユーザー(ログイン名); 
     		IF(ユーザー== NULL){ 
     			resutl.setSuccess(falseに); 
     			resutl.setMsg( "ユーザ名が存在しません!"); 
     		}他{ 
 				ユーザー= loginService.findUserByNameAndPwd(ログイン名、passwordEncode ); 
 	     		IF(ユーザー== NULL){ 
 	     			falseにresutl.setSuccess(); 
 	     			resutl.setMsg( "間違ったパスワードは、再入力してください"); 
 	     		}他{ 
 	     			!IF(user.getUser_status()= NULL && user.getUser_status( ).equals( "0")){ 
 	     				resutl.setSuccess(偽); 
 	         			resutl.setMsg( "ユーザー名が無効になっている、管理者に連絡してください!"); 
 	     			}他{ 
     					map.put( "userNameに」、user.getUser_name()); 
 	     				resutl.setObj(ユーザー); 
     	     			地図<文字列、文字列>マップ=新しいHashMapの<>();
     					map.put( "ユーザーコード"、ログイン名)。 
     						nameCookie.setMaxAge(60 * 60 * 24 * 10)。
     						pwdCookie.setMaxAge(60 * 60 * 10 * 24)。
     					map.put( "isOauthUser"、 "0")。
     					JSONObject jsonObject = JSONObject.fromObject(マップ)
     					System.out.println(jsonObject.toString())。
     					でrequest.getSession()のsetAttribute( "LOGIN_USER"、jsonObject)。
     					//创建两个クッキー对象
     		                   クッキーnameCookie =新しいクッキー( "ユーザーコード"、ログイン名)。
     		                   クッキーpwdCookie =新しいクッキー( "パスワード"、パスワード); 
     					もし( "真" .equals(String.valueOf(json.get())) "記憶"){ 
     						//设置クッキー的有效期为10天
     						response.addCookie(nameCookie)。
          		                   response.addCookie(pwdCookie)。 
     			        	nameCookie.setMaxAge(0)。
     					pwdCookie.setMaxAge(0)。
     					response.addCookie(nameCookie)。
          		                response.addCookie(pwdCookie)。
     			        } 
 	     			} 
 	     			
 	     		} 
     		} 
     		
        } 
		戻りresutl。
	}

 ログインに成功すると、その後終了し、再度ユーザー名とパスワードを入力する必要はありません! 

あなたにこの記事は参考になりました場合は、インセンティブとして報酬を見ること自由に感じなさい、私は仕事にしていきます!

おすすめ

転載: www.cnblogs.com/zhangliang88/p/11202618.html