asp.net セッション管理についてよく理解しています。
ここで用語を誤用していると思います。ASP.NET Session
は 1 つのものでForms Authentication
あり、まったく別のものです。ここでフォーム認証について話していると思います。
1) セッション ID が作成されるとき。クライアントがユーザー名とパスワードを使用してアプリケーションにログインするとき。または、クライアントが default.aspx ページにアクセスしようとしたとき。
FormsAuthentication.SetAuthCookie
ユーザー名とパスワードの資格情報が LogOn アクションによって検証されると、通常はメソッドが呼び出されます。
2) サーバーがクライアント セッション要求にどのように対応するか。
メソッドが呼び出されると、フォーム認証 Cookie がクライアントにFormsAuthentication.SetAuthCookie
送信され、この Cookie は後続の各要求でサーバーに送信されます。Cookie には、サーバーが IPrincipal を入力できるようにする暗号化されたユーザー名の値が含まれています。
3) js でセッション ID にアクセスできますか?
いいえ、フォーム認証 Cookie は、httponly
クライアント スクリプトからアクセスできないことを意味するフラグとともに発行されます。
4) クライアント サーバー セッションの作成に関して、ASP.NET Web フォームと ASP.NET MVC の間に違いはありますか?
それらはまったく同じです。という概念は実はありませんASP.NET MVC client server session creation
。このメカニズムはすべて ASP.NET から来ています。
ここで、質問で実際に ASP.NET セッションについて話したとします。その文脈であなたの質問に答えようとします:
1) セッション ID が作成されるとき。クライアントがユーザー名とパスワードを使用してアプリケーションにログインするとき。または、クライアントが default.aspx ページにアクセスしようとしたとき。
HttpContext.Session
サーバー側のコードがプロパティを使用してセッションの読み取りまたは書き込みを試みるたびに。
2) サーバーがクライアント セッション要求にどのように対応するか。
一部のサーバー側スクリプトがオブジェクトの読み取りまたは書き込みを試みると、セッション Cookie がクライアントに発行されHttpContext.Session
ます。この Cookie は、後続の各リクエストでサーバーに送信されます。Cookie は、サーバーに保存されているセッション データへのアクセスを許可する単なる ID です。デフォルトでは、セッション データはメモリに保存されます。ただし、ASP.NET を構成して、プロセス外または SQLServer に格納することもできます。さまざまなセッション ステート モードの詳細については、 を参照してくださいMSDN
。
3) js でセッション ID にアクセスできますか?
いいえ、ASP.NET セッション Cookie は、httponly
クライアント スクリプトからアクセスできないことを意味するフラグとともに発行されます。
4) クライアント サーバー セッションの作成に関して、ASP.NET Web フォームと ASP.NET MVC の間に違いはありますか?
それらはまったく同じです。という概念は実はありませんASP.NET MVC client server session creation
。このメカニズムはすべて ASP.NET から来ています。