1

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;

そして他の方法....

4

1 に答える 1

0

オブジェクトを渡すもう 1 つの方法は、オブジェクトを RequestMessage オブジェクトの Properties コレクションに追加することです。

IssuedToken Token = new IssuedToken() 
operationContext.RequestContext.RequestMessage.Properties.Add("NameOfObj",Token);
于 2011-09-15T04:02:45.970 に答える