2011-10-24 64 views
0

我有一個購物車asp.net應用程序目前我管理登錄系統,只需製作一個帶有2個字段用戶名和密碼的數據庫表,並在我的web.config文件中通過身份驗證將所有用戶重定向到登錄頁面和授權標籤在線託管後的會員問題

<authentication mode="Forms" > 
<forms defaultUrl="default.aspx" loginUrl="login1.aspx" cookieless="AutoDetect" ></forms> 
     </authentication> 
     <authorization> 
     <deny users="?"/> 
     </authorization> 

和我的登錄頁面上簡單地比較用戶名/密碼由用戶與數據庫條目中輸入,如果用戶是正確的調用是將用戶重定向到主頁它的功能

FormsAuthentication.RedirectFromLoginPage(username, true); 

在我的本地系統上工作得很好我沒有問題。但最近我在網上託管我的應用程序,並且我的登錄系統出現了一些問題。當我登錄到該網站時,它確定但過了一段時間用戶被自動拋出網站登錄頁面,他必須再次登錄。

回答

0

這聽起來像您的用戶正在碰撞cookie過期。添加下面的屬性到您的<forms>元素:

<forms defaultUrl="default.aspx" loginUrl="login1.aspx" cookieless="AutoDetect" slidingExpiration="true" timeout="60" /> 

默認情況下,滑動到期應設置爲true,但如果它在用戶登錄後,不,30分鐘,如果他們自己的認證將過期不管自那時起訪問了其他網站頁面。默認情況下,超時時間也應該設置爲上次刷新後的30分鐘,因此如果用戶閒置30分鐘,則必須更新身份驗證Cookie才能訪問安全內容。您可以將其擴展爲任何您喜歡的值,例如上例中的「60」。

你可以在MSDN reference page找到更多關於這些屬性的信息。

+0

我做了,但不適合我<形式defaultUrl =「default.aspx」loginUrl =「login1.aspx」slidingExpiration =「true」timeout =「60」> –