我有一個使用基本表單身份驗證的現有asp.net mvc網站。該網站有一個登錄頁面,該頁面回到登錄操作,通過FormsAuthentication.SetAuthCookie()記錄用戶。我正在尋找添加api到網站,作爲一個mvc2區域,用戶將根據作爲http標頭傳遞的令牌進行身份驗證。該區域將僅包含json操作,因此將用戶重定向到登錄頁面沒有任何意義。相反,我希望用戶只需在每個請求中傳遞一個令牌。該令牌映射到每個用戶帳戶,並且用戶將被自動驗證。添加每個請求,基於令牌的身份驗證到asp.net mvc站點
我正在努力把這個邏輯放在哪裏。此時,最好的選擇似乎是將頭部查找邏輯和身份驗證添加到Application_AuthenticateRequest方法中的Global.asax中。不過,我想避免在調用FormsAuthentication.SetAuthCookie()之後重定向用戶。我希望登錄操作對他們透明。
我接近這個錯誤的方式嗎?
附註:由於該網站有多個用戶,因此無法爲api請求提供用戶名/密碼。有些使用OpenID加入,而其餘加入使用用戶名/密碼。
不幸的是,我不使用WCF,說實話...我不想。它看起來像一個過度架構的混亂,很可能會被1-2年的其他東西所取代......該網站不是企業,不需要複雜程度 – 2010-09-30 17:10:43
哦,我感覺你100%,因爲我在這些企業項目之一的深度。但是WCF休息服務的故事非常乾淨。在我通過判斷之前,我會先看看入門套件。 – 2010-09-30 17:18:44
Web API已成爲執行REST服務的新方式。看起來WCF已經超越了預測。對於問題域的架構確實存在(並不是說它沒有非常有效的場景)。 :) – Marchy 2012-05-10 18:43:57