我的登录页面login.aspx:
。。
void DoLogin(Object objSender, EventArgs objArgs)
{
if (用户名和密码正确)
{
FormsAuthentication.SetAuthCookie(strUsr,false);
Response.Write("<script>window.open('A.aspx')</script>");
}
}现在点击登陆按钮执行DoLogin()函数,本来应该新开一个浏览器窗口A.aspx,结果还是回到了login.aspx,这个问题困绕了很久了,如果采用不开新窗口的函数Response.Redirect("A.aspx"),那就会打开正常的A.aspx网页(在本窗口显示),显然开不开新浏览器窗口是问题的关键。
这几天研究cookie身份验证的问题,发现该cookie验证只在本窗口有效,离开的本浏览器窗口就失效,可能问题就出在这里,但我的程序一定要开新窗口,我试着将FormsAuthentication.SetAuthCookie(strUsr,false)这句改成FormsAuthentication.SetAuthCookie(strUsr,true),也就是设置cookie验证永远有效,就解决了问题,但这样总不太好,有没有什么办法解决这个问题呢?
高手们,请帮帮忙!!!
。。
void DoLogin(Object objSender, EventArgs objArgs)
{
if (用户名和密码正确)
{
FormsAuthentication.SetAuthCookie(strUsr,false);
Response.Write("<script>window.open('A.aspx')</script>");
}
}现在点击登陆按钮执行DoLogin()函数,本来应该新开一个浏览器窗口A.aspx,结果还是回到了login.aspx,这个问题困绕了很久了,如果采用不开新窗口的函数Response.Redirect("A.aspx"),那就会打开正常的A.aspx网页(在本窗口显示),显然开不开新浏览器窗口是问题的关键。
这几天研究cookie身份验证的问题,发现该cookie验证只在本窗口有效,离开的本浏览器窗口就失效,可能问题就出在这里,但我的程序一定要开新窗口,我试着将FormsAuthentication.SetAuthCookie(strUsr,false)这句改成FormsAuthentication.SetAuthCookie(strUsr,true),也就是设置cookie验证永远有效,就解决了问题,但这样总不太好,有没有什么办法解决这个问题呢?
高手们,请帮帮忙!!!
在给分之前还想弄明白:这是为什么呢?难道模态窗口就可以继承用户验证cookie?
还是有问题,打开模态窗口后,SessionID都变了,说明cookie问题还是没解决,因此遇到了新问题:
我的A.aspx里面有个TextBox和一个“提交”按钮,先在TextBox里面输入一个值,然后点按钮,在按钮的事件处理程序中按照这个值来更新一个数据库表,问题是点按钮之后,还是回到了login.aspx!!!看来使用模态窗口只是回避了问题而没有解决问题!