WCF4 REST API の API キー認証ソリューションを実装したいと考えています。
クラスを作成して ServiceAuthorizationManager から派生させ、CheckAccessCore メソッドをオーバーライドする必要があることはわかっています。私が理解しているすべて。
しかし、CheckAccessCore からやりたいことは、内部情報を CheckAccessCore から Service 実装クラスに渡します。ApiKey 認証を行う際に調べた「ApiKeyID、権利、フラグ、その他の詳細」などの情報。
これにより、サービスがドメイン ロジックを呼び出すときに内部 ApiKeyID を内部的に使用できるようになります。
私はこれを行うさまざまな方法を見てきました。
operationContext.ServiceSecurityContext.AuthorizationContext.Properties["Principal"] = p;
また
System.Threading.Thread.CurrentPrincipal = principal;
HttpContext.Current.User = principal;
そして他の方法....