2016-05-19 31 views
1

我正在使用持證者令牌認證系統實現無狀態API。我想是從與方式的要求,這將是correpspond以下簽名綁定數據:將幾個模型綁定到asp.net中的單控制器方法mvc

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

是否有可能,如果是,是什麼來實現它的最佳方式?謝謝。

回答

0

從技術上講,不,你不能。原因很簡單,你只能在請求體中發佈一個對象。

然而,你可以創建一個ViewModel,它有兩個包含你的模型的屬性。

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

並將其傳遞給動作並通過參數獲取。

但是,您的具體用例沒有多大意義。爲什麼你會想要這樣通過不記名標記?

典型的方法是通過Authorization標題傳遞它,讓您的授權中間件處理它(身份或任何您使用的),然後通過控制器中的User屬性訪問用戶及其聲明。不要試圖重新發明輪子:)