この記事を参考に、Web APIで利用するBasic Http Authenticationの属性を書きました。属性クラスでは、提供された資格情報が一致する場合、HttpContext.Current.User を次のように設定しています。
HttpContext.Current.User = new GenericPrincipal(new ApiIdentity(apiUser), new string[] {});
base.OnActionExecuting(actionContext);
ただし、API コントローラー内で User にアクセスすると、apiUser プロパティがありません。
これはなぜですか?また、ID を設定して API コントローラーでアクセスする正しい方法は何ですか?