0

私はウェブサイトへのログインにこのコードを使用します:

var userId = User.UserId;
var userData = userId.ToString(CultureInfo.InvariantCulture);
var authTicket = new FormsAuthenticationTicket(1, userName, DateTime.Now, DateTime.Now.AddMinutes(30), persistanceFlag, userData, FormsAuthentication.FormsCookiePath);
var encTicket = FormsAuthentication.Encrypt(authTicket);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
if (authTicket.IsPersistent)
     {
          cookie.Expires = DateTime.Now.AddMonths(6);
     }

web.config と次のコードで machinekey を使用します。

<sessionState mode="InProc" timeout="20" cookieless="UseCookies" />
<httpCookies httpOnlyCookies="true" />
<authentication mode="Forms">
  <forms loginUrl="~/Login.aspx" timeout="2880" cookieless="UseCookies" />
</authentication>

しかし、私が働いていないことを覚えておいてください!ブラウザで Cookie を確認すると、.ASPXAUTH が保存され、日付の有効期限は問題ありません。しかし、数分後、asp.net は Cookie を使用せず、ブラウザが動作していないことを覚えています。

4

1 に答える 1