次のコード (AccountController.cs 内) を使用して、FormsAuthenticationTicket を Cookie に保存しようとしています。
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket
(1, user.UserEmail, DateTime.Now,
DateTime.Now.AddMinutes(FormsAuthentication.Timeout.TotalMinutes),
false, null);
string encTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName,
ticket.ToString());
HttpContext.Response.Cookies.Add(faCookie);
if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
&& !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
デバッガーをステップ実行すると、すべて問題ないように見えます。に到達するまでApplication_AuthenticateRequest
、Cookie を取得しようとします。
HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
if (authCookie != null)
{
//do stuff here
}
Cookies コレクションを見ると、何もありません。AccountController コードに別の通常の Cookie を追加すると、問題なく表示されます。UserData を含めても含めなくても問題は解決しないので、サイズの問題ではないと思います。
あなたが提供できる洞察に感謝します。