2016-07-18 59 views
0

所以,這是交易。WebApi控制器生命週期

我有一個WebApi與一些控制器。我有一個身份服務器配置爲身份驗證。這一切都有效。

當我在API上調用並傳遞適當的標記時,如果我在Controller的任何Actions中放置了一個斷點,則User對象將被正確填充。

現在,API操作執行的代碼需要與經過身份驗證的用戶相關的數據。如果我試圖在控制器的構造函數中執行此代碼,我的代碼會失敗,因爲用戶尚未正確填充。

所以,對於我的問題:是否有一些控制器生命週期的元素,我還沒有發現,這將允許我爲控制器上的每次調用執行代碼(就像它在構造函數中那樣)用戶對象已被正確填充?

回答

1

只有在創建控制器後才能分配用戶。 ApiControllers上沒有您可以處理的事件。最常見的方法是提取一種方法,檢索額外信息並在每個操作中調用它

+1

我有一個可怕的感覺,真的是這樣。 –

0

您可以在標題中添加某種標記(加密的UserId/Guid)。您可以使用標頭變量/標記來獲取控制器端的用戶對象。