お久しぶりです、ぺんたごんです。 久々にドハマりしていますのでお知恵をお借りしたく馳せ参じ参りました。 現在以下のような要件のものを作っています。 ・C#、ASP.NET Web API 2を使ったRESTサービス(.NET 4.5.1) ・いくつかのサービスがあり、それらが同じサーバに配置されるとは限らない。 ・RESTサービスは本来セッションを使えないが、IRequiresSessionState を実装したカスタムHTTPコントローラハンドラを用意して使えるようにした。 ・セッション管理はSQL Serverを使用(sessionState mode="SQLServer") ・RESTサービスはWebアプリからも呼ばれるし、iOS/Androidアプリからも 呼ばれるし、.NET製のデスクトップアプリからも呼ばれる。 このような状態で、サービスAがログオン用とし、 サービスB,C,Dの機能を使う場合はサービスAに対して認証通過済みじゃないと 使えない、という仕組みにしようとしています。 しかし実際試してみると、サービスA内では正常にセッションが働いているのですが サービスB側でサービスAが設定しているはずのキーを 拾おうとしても取れません(同じサーバ内) SQLServerを確認すると、AppIdがサービスごとにレコードが発生していましたので 別セッションになってるものと思われます。 少し調べた感じではIISでアプリケーションとして変換した単位でしか セッションを保持できないような情報が出てきましたが、もし 何か方法が御座いましたら何卒ご教示頂ければと存じます。
分類:[ASP.NET]