2016-10-11 67 views
0

は私が認証web.configファイルで構成されている方法は次のとおりです。ASP.NET_SessionId Cookieの有効期限を設定するにはどうすればよいですか?ここ

<authentication mode="Forms"> 
     <forms loginUrl="~/Account/Sigin" 
      name="MYCAUTH" 
      timeout="3000" /> 
</authentication> 

は、どのように私は両方のMYCAUTHASP.NET_SessionIdクッキーの有効期限を使用することができますか?

+0

の可能性の重複http://stackoverflow.com/questions/10439483/set-update-expiration-on-aspxauth-and-asp-net-sessionid-cookies ? – TheFallenOne

+0

@The_Outsiderはそれに答えません – JamesL

答えて

1

これを試してみてください:

DateTime expireDate = DateTime.Now.AddDays(30); 
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, userName, DateTime.Now, expireDate, true, string.Empty); 
string encryptedTicket = FormsAuthentication.Encrypt(ticket); 
HttpCookie authenticationCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket); 
authenticationCookie.Expires = ticket.Expiration; 
Response.Cookies.Add(authenticationCookie); 
FormsAuthentication.SetAuthCookie(userName, true); 
+0

ありがとうございます。 'FormsAuthentication.SetAuthCookie'で行うことは可能ですか?また、私は自分の質問を更新しました。 'ASP.NET_SessionId'と' MYCAUTH'の両方に有効期限が必要です – JamesL

+0

ブラウザを閉じるとすぐに 'ASP.NET_SessionId'が期限切れになります。とにかくそれらは2つの異なるものです。詳細については、この記事を参照してください。http://stackoverflow.com/questions/4939533/cookie-confusion-with-formsauthentication-setauthcookie-method – VDWWD

1
var myCookie = Request.Cookies["myCookie"]; 
    if (myCookie != null) 
    { 
     HttpCookie respCookie = new HttpCookie("myCookie", "MyValue"); 
     respCookie.Expires = DateTime.Now.AddMinutes(5); 
     Response.Cookies.Set(myCookie); 
    } 
関連する問題