2012-01-18 8 views
0

私のサイトは、ユーザがログインしてコンテンツなどを変更するためのバックエンドウンブラのものとうまく機能します。私が探しているのは、フロントフェイスサイトのログインregセクションを作成してユーザが退席できるようにすることですコメントなど 私は私のログインregページを作成し、.NETフォーム認証を使用しようとしましたが、何も動作していないようです!私がクッキーを追加すると、私はリフレッシュし、そこにはありません。この方法はUmbraco以外のサイトではうまくいきますので、私はUmbracoとは何か異なることをする必要があると仮定しています。私は、デバッグ中にクッキーの上に私のマウスを置くとクッキーがあるフォーム認証サイトを作成する

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)); 

}

、しかし:ここ

は、クッキーやSetAuthCookieを追加していないようです、私のフォーム認証コードであり、私がリフレッシュしてプロセスを再開すると、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

関連する問題