2013-03-17 28 views
2

前一段時間,我發佈了一個關於表單auth隨機超時的問題。我認爲這個問題解決了,但顯然不是。ASP.NET MVC - 表單認證和www子域

所以:我有會議,membershipprovider,並形成auth超時設置爲15分鐘。當我查看我的網站時,我正在隨機註銷,但正如在我的問題中,我發現我主要在鏈接到我的網站發生更改時(從www.mysite.com到mysite.com,反之亦然)退出登錄。這很重要嗎?如果是這樣,有什麼我可以做的,所以mvc會識別www。並沒有www。版本一樣嗎?

+1

你不應該改變你的網站的網址,這是混亂,並導致問題。沒有理由這樣做。 – 2013-03-17 19:34:24

+0

您應該確保爲您的網站設置了規範名稱。要麼使用www或不要,但不要同時做 – levelnis 2013-03-17 23:45:14

回答

1

通過web.config在您的auth cookie中特別設置cookie域。

其次可能無關,但只是爲了安全措施,你是否正在處理會話和表單驗證之間的超時同步?即使它們都設置爲15分鐘,他們可以在不同的時間

超時請參見我的文章在:Forms Authentication Timeout Logging

0

www.mysite.commysite.com之間的差異。他們將運行2個不同的會話和餅乾。即使搜索引擎會將它們識別爲2個不同的網站。

您應該嘗試始終使用指向其中一個的鏈接,並在請求開始後立即執行301重定向。您可以在Global.asax中添加一些代碼以驗證主機標頭BeginRequest

解決此問題的最佳方法是使用IIS7中的Rewrite模塊爲您自動執行此操作。