asp.Net SessionIdについて

2099 ワード

原文:https://www.cnblogs.com/zhang1999/p/7278020.html
ログインページにセッション認証コードを格納することにより、セッションにセッションが生成され、セッションが固定され、ログイン後にユーザ情報を格納するためのセッションIdは変わらず、利用されやすい
//               ,             ,           
HttpContext.Current.Session.Abandon()
HttpContext.Current.Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""))

Cookieストレージの変更
1.Cookieオブジェクト
(1).Cookieオブジェクトへの書き込み
HttpCookie cookie = new HttpCookie("data"); 注意:cookieを定義します.nameプロパティはdataです.
cookie.Values.Add("name","123"); 注意:クッキーはキー値ペアで格納されます.
cookie.Expires = DateTime.Now.AddYears(2); 注意:有効期限は2年に設定するか、有効期限を設定しないこともできます.クッキーを設定しないとブラウザが閉じると自動的にクリアされます.
Response.Cookies.Add(cookie); 注意:Responseオブジェクトを書き込みます.
(2).Cookieオブジェクトの読み込み
HttpCookie cookie = Request.Cookies["data"]; 注意:name属性がdataのクッキーを取得
if(cookies!=null&&Cookies.HasKeys)注:cookieが存在するか否かを判断する
{
string s = cookies["name"]; 注意:nameキーに基づいて値を取得
Response.Write(s);
}
2.Sessionオブジェクト
Sessionの定義と読み取りはCookieより比較的簡単です
 
(1).セッションオブジェクトの定義
Session["Itemsession"] = "abc"; 注意:Sessionの値はabcで、Sessionのタイプはobjectなので、任意のタイプを割り当てることができます.
(2).セッションオブジェクトの読み込み
string s =(string)Session["Itemsession"] ; 注意:読み込み時のタイプは、定義時のタイプと一致します.
Response.Write(s);
(3).Sessionの特徴
同じコンピュータの同じブラウザは同じセッションを表し、異なるブラウザは異なるセッションを表します.
同じコンピュータの同じブラウザにはセッションが1つしかありません.
Sessionの有効期限は、ブラウザが閉じたときに自動的にクリアされるか、ユーザーが20分間アクティブにしなくても自動的にクリアされます.
3.CookieとSessionの相違点と同一点
(1).同じ点
CookieオブジェクトとSessionオブジェクトの役割は、フォーム間で値を渡すことです.
など
(2).異なる点
Cookieはクライアントにステータスを保存し、Sessionはサーバ側にステータスを保存します.
セッションはCookieに比べてセキュリティが高い.
 
転載先:https://www.cnblogs.com/zhang1f/p/11503727.html