わかりました、ここで ASP.NET セキュリティ モデルに関する私の愚かさを実際に示しますが、ここでは行きます。
私は WCF Web サービスを持っており、カスタム メンバーシップ プロバイダーを介してパイプする方法をハックすることができました。
私のメンバーシップ プロバイダーは、SQL サーバー インスタンスからのデータを使用してユーザー オブジェクトを読み込もうとする "ValidateUser" をオーバーライドします。クレドを取得し、users オブジェクトをロードして、問題がなければ true を返します。
この時点で、私は通常、ユーザー オブジェクト (または ID) をセッションに詰め込むか、実際にはリクエストの存続期間中にアクセスできる状態バッグに詰め込みます。私が直面している問題は、ASP 互換性属性を使用しているにもかかわらず、この時点で HttpContext が null であることです。
他にどのようなオプションがありますか? 乾杯、クリス。
編集:
やりたいことを明確にするだけです。サーバーで認証されるユーザー資格情報を渡したいのですが、これが発生したら、認証されたユーザーの詳細を、サービス要求の存続期間中のみアクセスできる場所に保持したいと考えています。これは Http.Current.Items と同等でしょうか?
静的プロパティを介してグローバルにアクセスできる (つまり、HttpContext.Current と同様の方法で) 要求ごとにインスタンス化されるオブジェクトはありますか? OperationContext は this だと思っていたのですが、これも null ですか?
これは本当に珍しい問題でしょうか?クレデンシャルを送信 > ユーザーを取得 > リクエストの処理中にアクセスできるようにユーザーをどこかに詰め込みます。私にはかなり一般的なようですが、何が欠けていますか?
乾杯、クリス。