2016-05-19 11 views
1

私はベアラトークン認証システムでステートレスAPIを実装しています。私が欲しいのは、次のシグネチャにcorrepspondされる方法、とのリクエストからデータをバインドすることです:いくつかのモデルをasp.net mvcのシングルコントローラメソッドにバインドします

void Index(DataModel modelFromRequestData, UserModel userFromBearerToken){ ... }

ことが可能であり、そうならば、それを実装するための最良の方法は何ですか?ありがとう。

答えて

0

技術的には、できません。理由は簡単です。要求本体にオブジェクトを1つだけ投稿できます。

ただし、モデルを含む2つのプロパティを持つViewModelを作成することはできます。

public class DataViewModel 
{ 
    public DataModel Data { get; set; } 
    public UserModel User { get; set; } 
} 

これをアクションに渡し、パラメータで取得します。

ただし、特定のユースケースはほとんど意味がありません。なぜ、この方法でベアラトークンを渡したいのですか?

典型的な方法は、Authorizationヘッダーを介して渡すことです。承認ミドルウェアがそれを処理できるようにします(アイデンティティまたは使用するもの)。コントローラのUserプロパティを使用してユーザーと彼のクレームにアクセスします。ホイールを再発明しようとしないでください:)

関連する問題