0
我使用ASP.NET開發網站。現在我進行驗證。FormsAuthenticationTicket在Response.Redirect操作後消失
授權由另一個Web服務完成。如果網絡服務的答案是成功的,我創建一張票:
var ticket = new FormsAuthenticationTicket(1, param.Login, DateTime.Now, DateTime.Now.AddDays(1), false, string.Empty, FormsAuthentication.FormsCookiePath);
var encTicket = FormsAuthentication.Encrypt(ticket);
var AuthCookie = new HttpCookie(FormsAuthentication.FormsCookieName)
{
Value = encTicket,
Expires = DateTime.Now.AddDays(1)
};
Response.Cookies.Set(AuthCookie);
此代碼添加了認證cookie。但是,如果我在之前的代碼之後添加下一個字符串:
Response.Redirect("<redirect address>");
cookie在重定向後消失。
爲什麼發生了?認證這裏
的web.config部分:
<authentication mode="Forms">
<forms name=".ASPXFORMSAUTH" loginUrl="~/login.ashx" />
</authentication>
在Response.Redirect()中,你是指導用戶在同一個網站內還是外部網站?如果您在同一個網站中直接訪問,則在完成Response.Redirect()後,登錄頁面是否出現? –
我將用戶重定向到同一個站點。 – Elena