1
我在我使用的令牌的承載來認證連接的用戶網絡API控制器檢索令牌值:從網頁API動作內的請求
protected ApplicationUserManager UserManager
{
get
{
return _UserManager ?? HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>();
}
}
[Route("Create")]
[HttpPost]
public IHttpActionResult CreateEvent(CreateEventModel model)
{
String userID = UserManager.FindByName(User.Identity.Name).Id;
int EventID = EventRep.CreateEvent(userID, model.EventTitle, model.EventDate, model.NbParticipent, model.Description, model.Logo);
if(EventID > 0) return Ok(EventID);
return BadRequest("paramètres invalides") ;
}
由於RESTful應用程序必須是無狀態的,我想避免使用User.Identity
和替換該行
String userID = UserManager.FindByName(User.Identity.Name).Id;
我需要檢索請求令牌承載,然後找到相應的 用戶。
所以:
- 我怎樣才能做到這一點?
- 做什麼是最好的方法?
創建一個DelegateHandler或ActionFilter並檢查標頭的持票人標記。然後,您可以檢索用戶,創建用戶的正確主體並將其設置在線程和httpcontext中 – Nkosi
@Nkosi請將您的評論發佈爲答案 –