私の asp.net mvc4 プロジェクトでは、ApiControllers を使用して Web クライアントとモバイル クライアントの両方にサービスを提供しています。Web サービスを保護するために、[Authorize] アノテーションを使用しています。今のところ、Web クライアントは問題なく動作しています。しかし、モバイル アプリケーション (Android など) から Web API を呼び出すと、エラーが発生します。コードスニペットを振り返ったとき:
[Authorize]
public List<double> GetSomeInfo(int param1, string param2)
{
User user = SessionData.CurrentUser;
// do something using user.UserId
// ....
}
セッション データは、ユーザーが Web アプリに接続している場合にのみ、ユーザー接続プロパティを保持します。ただし、モバイル クライアントの場合、Session Data は null です。したがって、この問題を解決する適切な方法はありますか。私の意見では、userId は、何らかの処理を行うために必要な Web API のパラメーターとして提供する必要があると思います。どう思いますか ?