[問題] 無法讀取.net Forms Authentication 產ꔠ…
系統寫了自動登入功能,在自己的主機測試ok後放到somee.com出了問題
一開始進入頁面都是停在login頁面
測試以後發現只要登入之後馬上重新進入頁面就可以自動轉換頁面,
如果登入後過了好幾秒再重新進入就會停在login頁面
看起來好像是session的問題,我把session改成放在資料庫可以解決嗎
為什麼我讀cookie會跟session有關係
以下是我產生cookie的程式
FormsAuthenticationTicket ticket = new
FormsAuthenticationTicket(1,
Convert.ToString(fuser),
DateTime.Now,
DateTime.Now.AddYears(10),
persist,
Convert.ToString(fuser),
FormsAuthentication.FormsCookiePath);
string encTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie ck = new
HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
if (persist)
ck.Expires = ticket.Expiration;
ck.Path = FormsAuthentication.FormsCookiePath;
Response.Cookies.Add(ck);
以下是我放在global.asax 的程式 用來讀取cookie設定Current User
protected void Application_AcquireRequestState(object sender, EventArgs e)
{
HttpCookie cookie = Request.Cookies["aspc"];
try
{
FormsAuthenticationTicket ticket =
FormsAuthentication.Decrypt(cookie.Value);
if (ticket.Expired)
{
FormsAuthentication.SignOut();
Response.Redirect("login.aspx");
}
else
{
string[] roles = ticket.UserData.Split(new char[] { ',' });
FormsIdentity id = new FormsIdentity(ticket);
GenericPrincipal principal = new GenericPrincipal(id, roles);
HttpContext.Current.User = principal;
Response.Redirect("ase.aspx");
}
}
catch (Exception ex)
{
Response.Write(FormsAuthentication.FormsCookieName);
Response.Write(ex.Message);
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.229.112.95
推
08/17 16:48, , 1F
08/17 16:48, 1F
→
08/17 22:44, , 2F
08/17 22:44, 2F