登陆页面Login.aspx 在本地IIS上运行时是可以注销的
这是Login.aspx创建cookie的代码
HttpCookie userCookie = new HttpCookie("abc");
userCookie.Values.Add("globalecmaster", username);
userCookie.Values.Add("AdminId", table.Rows[0]["Id"].ToString());
userCookie.Values.Add("masterflag", table.Rows[0]["Flag"].ToString());
userCookie.Expires.AddDays(1);
userCookie.Path = "/";
userCookie.Domain = "abc.com";
Response.Cookies.Add(userCookie);
当点击Index.aspx页面上的注销按钮时,返回到Login.aspx页面,并且传过去一个值act;
这是Login.aspx中Cookie注销的代码 if (Code.QueryStringStr("act") == "logout")
{
Request.Cookies["abc"].Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(Request.Cookies["abc"]);
Response.Redirect("Login.aspx");
}以上内容,在本地上运行是没有问题的,但是把项目发布完以后,通过FTP发到远程服务器上时,在这样操作就不可以了
具体情况就是Login.aspx页面登陆后转到Index.aspx页面,Index.aspx页面点击注销后返回到Login.aspx页面上,但是这时在打开一个新页面输入Index.aspx时还是能直接跳转到Index.aspx页面.可是使用本地项目输入完Index.aspx页面,判断假如没登陆就可以返回到Login.aspx页面.
这时为什么?难道是项目发到服务器上后,Cookie的保存路径有问题?请线上朋友解答...
这是Login.aspx创建cookie的代码
HttpCookie userCookie = new HttpCookie("abc");
userCookie.Values.Add("globalecmaster", username);
userCookie.Values.Add("AdminId", table.Rows[0]["Id"].ToString());
userCookie.Values.Add("masterflag", table.Rows[0]["Flag"].ToString());
userCookie.Expires.AddDays(1);
userCookie.Path = "/";
userCookie.Domain = "abc.com";
Response.Cookies.Add(userCookie);
当点击Index.aspx页面上的注销按钮时,返回到Login.aspx页面,并且传过去一个值act;
这是Login.aspx中Cookie注销的代码 if (Code.QueryStringStr("act") == "logout")
{
Request.Cookies["abc"].Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(Request.Cookies["abc"]);
Response.Redirect("Login.aspx");
}以上内容,在本地上运行是没有问题的,但是把项目发布完以后,通过FTP发到远程服务器上时,在这样操作就不可以了
具体情况就是Login.aspx页面登陆后转到Index.aspx页面,Index.aspx页面点击注销后返回到Login.aspx页面上,但是这时在打开一个新页面输入Index.aspx时还是能直接跳转到Index.aspx页面.可是使用本地项目输入完Index.aspx页面,判断假如没登陆就可以返回到Login.aspx页面.
这时为什么?难道是项目发到服务器上后,Cookie的保存路径有问题?请线上朋友解答...
可是到了服务器就不行了。折腾了两天都没有好