2016-05-04 8 views
0

私は、RequestMessageの一部としてuseridとAPIKeyの組み合わせを使用して認証されるWeb APIアプリケーションを持っています。私の認証フィルターでは、処理を進める前に組み合わせが有効かどうかチェックします。私はその後、自分のコントローラーでいくつかのアクションを記録するためにユーザーIDを使用する必要があります。Web APIのグローバル変数

UserIDとキーは一緒にエンコードされます。何かが好きです:.../api/v1/Transaction?api_key = YmFyZGFnYWR2ZXJndXI

問題は私がどのようにコントローラにユーザーIDを公開するかです。 Chips_100からのコメントを使用して

+1

ユーザIDのソースは何ですか? – Kamo

+0

リクエスト内のAPIKeyパラメータの一部です。ユーザーIDとキーは一緒にエンコードされます。 .../api/v1/Transaction?api_key = YmFyZGFnYWR2ZXJndXI – illug

+0

クッキー認証を使用する –

答えて

0

私は私のコントローラと私の認証フィルタに、このコードにCurrentUserIdを追加しました:

public class CustomAuthFilter : AuthorizeAttribute 
{ 
    private BaseController controller; 
    public override void OnAuthorization(HttpActionContext actionContext) 
    { 
     controller = actionContext.ControllerContext.Controller as BaseController; 
     //Some code ommitted for clarity 
     if (controller != null) 
      controller.CurrentUserId = userAccount[0]; 
    } 
} 

は、これまで完璧に動作するようです。