2014-11-02 48 views
0

我正在研究一個C#WebApi/MVC項目,該項目有一個相當大的工作流程來創建用戶並放入他們所需的信息。 大約涉及10個主要步驟,在技術上可能需要幾個小時才能完成。用於創建用戶的REST會話工作流程

第一步採用標準的基本信息,如用戶名,密碼,郵箱,姓名,地址等

我想要做的是在此之後的第一步是成功的,發送REST調用將創建用戶表中的基本用戶,然後爲進一步的步驟準備會話,在後續步驟中填寫任何字段時,將自動發送ajax調用並更新數據庫中的字段。雖然這聽起來很簡單理論上使用會話,我可以在MVC中做到這一點,但我想在WebApi中使用其中REST應該是STATELESS的REST來完成此操作。

有沒有人遇到類似的問題,如果是的話,他們推薦什麼樣的方法?我目前可以考慮的選項有:

- 在此流程中標準MVC的REST標籤處於脫機狀態,並且僅將WebAPI保留爲Reads而不是Writes,因爲唯一的Write流程是初始創建用戶/帳戶。

- 使用驗證令牌?但是,這可以成功處理這個過程嗎?

- 一旦用戶被創建,將每個REST調用的用戶名/密碼作爲WebAPI的身份驗證?將用戶/密碼存儲在MVC會話中,並直接從MVC調用API,移動應用程序只需將用戶名/密碼存儲在應用程序中並調用WebAPI(我認爲這是最合適的)

任何人都可以告訴我這些選擇中的任何一個都是最佳實踐,還是任何人都有更好的最佳實踐/過程來處理這些事情?我寧願寫一些東西來儘可能覆蓋Web和Mobile,而不必重複流程。

在此先感謝!

回答

0

我會考慮修改普通的WebAPI OWIN註冊流程。

  1. 收集基本的用戶信息並通過Ajax發佈到Web API。如果成功 - 將OWIN令牌發送回HTTP頭中的調用者。
  2. 繼續執行額外的 用戶信息更新步驟(例如,通過HTTP PUT),並將 令牌放入驗證標頭中。使用 授權屬性標記WebAPI更新過程。

這個blog post可以幫助設置WebAPI發佈和接受承載令牌。