« [ASP.NET] Server.Transfer(サーバーコントロール)で他のページへ送信 | メイン | [ASP.NET|SQL Server] SQLServer認証 と WINDOWS認証 »

2005年10月06日

[ASP.NET] ViewState と Session

■ViewStateへのユーザ状態の保存
    ・ その画面内でしか利用されない一時的な入力仕掛りデータを入れる。 
    ・ 漏洩(解読)やデータ再送(リプレイ攻撃)されると困るようなデータは含めない(詳細は後述)。 
    ・ 一時的にダーティになることがあってもよい。 
   
■Sessionオブジェクトへのユーザ状態の保存 
    ・ ショッピングカート情報や、一連のウィザード画面での入力仕掛りデータなど、
   画面間で引き継ぐデータを入れる。 
    ・ 各画面では入力チェック(フォーマットチェックなど)を完了したデータのみを入れ、
   常にクリーンに保つように設計するとよい。 
    ・ 当該画面内でしか利用しないデータであっても、(クレジットカード番号のように)
   セキュリティを要求されるデータである場合には、Sessionオブジェクトに入れて保存する。
   
   Dim DataSet As String

' 格納
Session("DataName") = DataX
ViewState("DataName") = DataX

' 取り出し
DataX = CType(Session("DataName"), [ObjectType])
DataX = CType(ViewState("DataName"), [ObjectType])

2005 / 10 / 06