2012-01-18 54 views
0

我的網站與後端Umbraco的東西很好用戶登錄和更改內容等我想要做的是創建一個登錄註冊部分面向前面的網站,使用戶可以離開評論等 我已創建我的登錄註冊頁面,並嘗試使用.NET窗體身份驗證,但似乎沒有工作!當我添加cookie時,我刷新並且不在那裏。這種方法在非Umbraco網站上效果很好,所以我假設我需要和Umbraco做一些不同的事情。創建一個窗體身份驗證網站

這裏是我的表單驗證代碼,這似乎不添加餅乾或SetAuthCookie:當我將鼠標懸停我的鼠標懸停在調試餅乾餅乾是有

Users Users = new Users(); 
     ENT_User User = Users.GetUser(this.txtLogin.Text, this.txtLoginPassword.Text); 

     if (User.ID != Guid.Empty) 
     { 
      FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, 
       User.Email, 
       DateTime.Now, 
       DateTime.Now.AddDays(12), 
       true, 
       User.ID.ToString(), 
       FormsAuthentication.FormsCookiePath); 

      // Encrypt the ticket. 
      string encTicket = FormsAuthentication.Encrypt(ticket); 

      // Create the cookie. 
      Response.Cookies.Add(new HttpCookie("LoginDetails", encTicket)); 

}

,但當我刷新並再次通過該過程時,Cookie不在那裏。

有沒有人有什麼問題是什麼問題?

感謝

+0

如果你已經盡了一個修復建議,請確認是否幫助或沒有。如果它不能按預期工作,我們可能會尋找另一種解決方案。 –

回答

0

你已經設置過期的車票,但不能用於餅乾本身。 嘗試改變:

... 
Response.Cookies.Add(new HttpCookie("LoginDetails", encTicket)); 

到:

... 
var httpCookie = new HttpCookie("LoginDetails", encTicket); 
httpCookie.Expires = DateTime.Now.AddDays(12); 
Response.Cookies.Add(httpCookie); 
+0

我試過了,它沒有工作! – Funky

+0

您是否使用ASP.NET Web Development Server來運行您的Web應用程序(默認情況下由Visual Studio使用的服務器,我想)?如果是這樣,儘可能在本地IIS上部署應用程序,並測試在這種情況下問題是否仍然存在。 –

+0

不,我正在使用IIS – Funky