2012-11-14 50 views
1

我正在使用MVC4 - 剃鬚刀引擎。我在控制器中使用模式對話框nd顯示登錄視圖,我使用「FormsAuthentication.SetAuthCookie(model.UserName,model.RememberMe)」來設置Cookie。當我使用'/ Account/LogOn'頁面直接登錄時,一切正常,並且如果使用選擇記住我選項,用戶名/密碼字段就會正確填充。但是,當我使用模式對話框來顯示登錄視圖,它不起作用,用戶名/密碼不會從cookie中填充。記住我在對話框登錄彈出窗口中不起作用

請讓我知道如何解決這個問題。

謝謝。

回答

1

您似乎很困惑:「記住我」複選框並未引用自動填入的用戶名和密碼字段,而是實際引用身份驗證Cookie的使用期限:默認情況下,Cookie會在用戶關閉時過期瀏覽器窗口(導致他們重新輸入他們的詳細信息)。選擇此選項時,身份驗證Cookie將保持不變,用戶將在不同的瀏覽器會話之間保持登錄狀態。

如果瀏覽器支持,用戶的用戶名和密碼會自動輸入表單域,但它不是Web應用程序的功能(也是不可能的,因爲應用程序永遠不應該訪問用戶的普通密碼,也不可能他們存儲在cookie中)。這就是「你想讓Firefox記住你的用戶名和密碼的網站?」提示是。

我同意這個術語很混亂 - 「記住我」可能指的是瀏覽器記住的登錄細節,或者認證cookie被客戶端持久化。我認爲正確的解決方案是將語言從「記住我」改爲「讓我登錄這臺計算機」。它更詳細,但更準確。

+0

感謝您的回覆。我同意'保持我登錄'將是一個適當的詳細。我當前遇到的問題是FormsAuthentication.SetAuthCookie()在我在「登錄」彈出窗口中選中「記住我」時不起作用。彈出窗口使用Jquery對話框顯示。所有瀏覽器都支持自動填寫正常登錄頁面的用戶名和密碼。只有當它作爲彈出框呈現時,這些字段纔會變成空白。 – user1824771

+0

當字段出現時,瀏覽器僅在頁面加載時自動填充字段。在頁面加載之後添加或顯示的字段(例如在jQuery彈出窗口中)將不會被填充。但是,**這與SetAuthCookie無關**。 – Dai

+0

Ohk ..我現在得到它..謝謝你的幫助。 – user1824771