<authentication mode="Forms">
<forms path="/" defaultUrl="Default.aspx" loginUrl="Login.aspx" name=".ASPXAUTH" slidingExpiration="true" timeout="3000" cookieless="UseDeviceProfile"/>
</authentication>
private void SetAuthticationCookie(string username)
{
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(username, true, 3000);
string encTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie myCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
Response.Cookies.Add(myCookie);
}
它在本地计算机上工作正常但是当我将Web应用程序发送到主机服务器时很快就丢失了cookie,所以如何才能将时间增加两天?
添加了注意事项我使用“fire cookie plugin”进行测试,但我的网站上没有设置cookie,真是太酷了!我不知道为什么?事实上有cookie,因为我关闭Firefox然后再次运行它我的网站从cookie加载数据,但问题是到期时间。
添加了日志跟踪:
HTTP/1.1 200 OK
Date: Sun, 20 Mar 2011 06:19:13 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-Powered-By: PleskWin
Set-Cookie: .ASPXANONYMOUS=6ASaj1gdzAEkAAAAOGU0YTk2NmItNjhiMy00MGIzLTgyYzAtNTc1YThiNmRhNThl0; expires=Sat, 28-May-2011 16:59:09 GMT; path=/; HttpOnly
Set-Cookie: ASP.NET_SessionId=at5qoanwkc31y0xuguomabgw; path=/; HttpOnly
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 148363
答案 0 :(得分:0)
尝试将您的表单“名称”属性更改为其他内容...您是否可以使用类似FireBug(或FireCookie)的内容来检查加载了哪些Cookie(以及有效日期?)
修改强>
从您的声明中完全删除 路径属性...看看是否有帮助......
<authentication mode="Forms">
<forms defaultUrl="Default.aspx" loginUrl="Login.aspx" name=".ASPXAUTH" slidingExpiration="true" timeout="3000" cookieless="UseDeviceProfile"/>
</authentication>