「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -戻る --[[Session管理機能]] --[[Webアプリケーションの不正操作]] * 目次 [#h170136f] #contents *概要 [#i1f5d24a] -ブラウザのウィンドウ(タブ)毎にSessionスコープを生成する。~ -これにより、複数のブラウザ・ウィンドウを立ち上げる~ SessionステートフルなWebアプリケーションの開発が可能になる。 **処理方式概要 [#pfb46961] -画面遷移のリダイレクト要求を除くGet要求時に「ブラウザ・ウィンドウGUID」を生成する。 -この「ブラウザ・ウィンドウGUID」を使用してブラウザ・ウィンドウ別Sessionスコープを生成する。 -ブラウザ・ウィンドウ上で、この「ブラウザ・ウィンドウGUID」をHidden項目やQuery Stringで持ち回る。 -「ブラウザ・ウィンドウ別Session領域」は、LRUで削除される。世代数は、FxWindowGuidMaxQueueLengthに設定できる。 -破線が当該Sessionスコープを表す。~ 同一ブラウザ ウィンドウの「親画面~子画面」も同一のスコープ内に含める。 --外側の破線:ブラウザ・ウィンドウ別Session領域 --内側の破線:[[親画面別Session領域]] #ref(SessionAreaPerBrowserWindow.png,left,nowrap,ブラウザ・ウィンドウ別Session領域) **操作メソッド [#lcf9afef] -BaseController~ https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Framework/Presentation/BaseController.cs#L3168 |SetDataToBrowserWindowSessionメソッド|データの設定| |GetDataFromBrowserWindowSessionメソッド|データの取得| |DeleteDataFromBrowserWindowSessionメソッド|データの削除(キー毎)| |DeleteDataFromBrowserWindowSessionメソッド|データの削除(全て)|