私はIDbCommandTreeInterceptor
という実装を書いて、コンテキストに基づいてクエリを変更しました。コンテキストにアクセスするEF DBインターセプタ(現在のユーザーなど)
私の特定の状況では、ユーザーが照会されたテーブルで何ができるのかを判断するために、インターセプタのユーザーオブジェクトにアクセスする必要があります。
これは行レベルのセキュリティを実装する私のビジョンです。私のDbInterceptorでは、ユーザオブジェクトを取得し、ロールをチェックし、ユーザがアクセスできない行をフィルタリングします。
今質問します。
私はいくつかの記事を読んで、DbInterceptors
が別のスレッドで実行されている可能性があることを理解しています(HttpContext.Current
が存在しません)。
この種のものを実装/整理する方法は?私はコンテキスト(ユーザーが要求しているものなど)にアクセスしたい。
私はOData WebAPI
を使用しています。
データアクセスコードでHttpContext.Currentにアクセスすることはお勧めできません。おそらくあなたはこの情報を注入することができます。 –