我在單個頁面應用程序中使用Breeze保存到asp.net web api服務器。我的應用程序使用表單身份驗證,我的Breeze控制器使用Authorize屬性進行裝飾;如何確保Breeze.js保存不會觸發瀏覽器的驗證對話?
[System.Web.Http.Authorize]
[BreezeController]
public class ReminderController : ApiController
{ ... }
我所看到的,一旦其中的微風試圖保存的問題,並請求完成之前,瀏覽器立即彈出一個用戶名/密碼認證對話框。我不完全確定爲什麼會發生這種情況,因爲aspx cookie未設置爲過期,但我可以通過登錄到我的應用程序來複制它,刪除cookie並觸發Breeze保存。如果我點擊對話框上的取消,我的服務器會響應我的客戶端代碼處理的401。我想確保auth對話從不向用戶顯示。這種情況發生在Chrome和IE中,但我確定它在舊版Chrome穩定版中沒有這樣做。
請求可以在這裏看到,仍被列爲待定,而顯示的對話框
感謝
我已將此作爲答案,因爲我似乎無法找到一個方法來移除401響應的'WWW-Authenticate'頭(也許是IIS加入他們嗎?)一403是看似只有這樣解決這個問題。 – SeeNoWeevil